save_flags(flags); cli();
if (tty_hung_up_p(filp)) {
- MOD_DEC_USE_COUNT;
restore_flags(flags);
return;
}
state->count = 0;
}
if (state->count) {
- MOD_DEC_USE_COUNT;
restore_flags(flags);
return;
}
}
info->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING);
wake_up_interruptible(&info->close_wait);
- MOD_DEC_USE_COUNT;
}
static void siccuart_wait_until_sent(struct tty_struct *tty, int timeout)
// is this a line that we've got?
- MOD_INC_USE_COUNT;
if (line >= SERIAL_SICC_NR) {
- MOD_DEC_USE_COUNT;
return -ENODEV;
}
if (tmp_buf)
free_page(page);
else if (!page) {
- MOD_DEC_USE_COUNT;
return -ENOMEM;
}
tmp_buf = (u_char *)page;
(info->flags & ASYNC_CLOSING)) {
if (info->flags & ASYNC_CLOSING)
interruptible_sleep_on(&info->close_wait);
- MOD_DEC_USE_COUNT;
return -EAGAIN;
}
*/
retval = siccuart_startup(info);
if (retval) {
- MOD_DEC_USE_COUNT;
return retval;
}
retval = block_til_ready(tty, filp, info);
if (retval) {
- MOD_DEC_USE_COUNT;
return retval;
}
return -ENOMEM;
printk("IBM Vesta SICC serial port driver V 0.1 by Yudong Yang and Yi Ge / IBM CRL .\n");
siccnormal_driver->driver_name = "serial_sicc";
+ siccnormal_driver->owner = THIS_MODULE;
siccnormal_driver->name = SERIAL_SICC_NAME;
siccnormal_driver->major = SERIAL_SICC_MAJOR;
siccnormal_driver->minor_start = SERIAL_SICC_MINOR;