TTY: ircomm, use close times from tty_port

Switch to tty_port->close_delay and closing_wait.

Signed-off-by: Jiri Slaby <jslaby@suse.cz>
Cc: Samuel Ortiz <samuel@sortiz.org>
Cc: netdev@vger.kernel.org
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Jiri Slaby 2012-06-04 13:35:17 +02:00 committed by Greg Kroah-Hartman
parent a3cc9fcff8
commit 2a0213cb1e
3 changed files with 6 additions and 11 deletions

View File

@ -101,9 +101,6 @@ struct ircomm_tty_cb {
struct timer_list watchdog_timer; struct timer_list watchdog_timer;
struct work_struct tqueue; struct work_struct tqueue;
unsigned short close_delay;
unsigned short closing_wait; /* time to wait before closing */
int open_count; int open_count;
int blocked_open; /* # of blocked opens */ int blocked_open; /* # of blocked opens */

View File

@ -389,8 +389,6 @@ static int ircomm_tty_open(struct tty_struct *tty, struct file *filp)
INIT_WORK(&self->tqueue, ircomm_tty_do_softint); INIT_WORK(&self->tqueue, ircomm_tty_do_softint);
self->max_header_size = IRCOMM_TTY_HDR_UNINITIALISED; self->max_header_size = IRCOMM_TTY_HDR_UNINITIALISED;
self->max_data_size = IRCOMM_TTY_DATA_UNINITIALISED; self->max_data_size = IRCOMM_TTY_DATA_UNINITIALISED;
self->close_delay = 5*HZ/10;
self->closing_wait = 30*HZ;
/* Init some important stuff */ /* Init some important stuff */
init_timer(&self->watchdog_timer); init_timer(&self->watchdog_timer);
@ -546,8 +544,8 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp)
* the line discipline to only process XON/XOFF characters. * the line discipline to only process XON/XOFF characters.
*/ */
tty->closing = 1; tty->closing = 1;
if (self->closing_wait != ASYNC_CLOSING_WAIT_NONE) if (self->port.closing_wait != ASYNC_CLOSING_WAIT_NONE)
tty_wait_until_sent_from_close(tty, self->closing_wait); tty_wait_until_sent_from_close(tty, self->port.closing_wait);
ircomm_tty_shutdown(self); ircomm_tty_shutdown(self);
@ -558,8 +556,8 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp)
self->tty = NULL; self->tty = NULL;
if (self->blocked_open) { if (self->blocked_open) {
if (self->close_delay) if (self->port.close_delay)
schedule_timeout_interruptible(self->close_delay); schedule_timeout_interruptible(self->port.close_delay);
wake_up_interruptible(&self->port.open_wait); wake_up_interruptible(&self->port.open_wait);
} }

View File

@ -272,8 +272,8 @@ static int ircomm_tty_get_serial_info(struct ircomm_tty_cb *self,
info.line = self->line; info.line = self->line;
info.flags = self->flags; info.flags = self->flags;
info.baud_base = self->settings.data_rate; info.baud_base = self->settings.data_rate;
info.close_delay = self->close_delay; info.close_delay = self->port.close_delay;
info.closing_wait = self->closing_wait; info.closing_wait = self->port.closing_wait;
/* For compatibility */ /* For compatibility */
info.type = PORT_16550A; info.type = PORT_16550A;