diff options
-rw-r--r-- | net/irda/ircomm/ircomm_tty.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index 3fdce18c6931..cfe352dfb484 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c | |||
@@ -568,21 +568,7 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp) | |||
568 | tty_driver_flush_buffer(tty); | 568 | tty_driver_flush_buffer(tty); |
569 | tty_ldisc_flush(tty); | 569 | tty_ldisc_flush(tty); |
570 | 570 | ||
571 | spin_lock_irqsave(&port->lock, flags); | 571 | tty_port_close_end(port, tty); |
572 | tty->closing = 0; | ||
573 | |||
574 | if (port->blocked_open) { | ||
575 | if (port->close_delay) { | ||
576 | spin_unlock_irqrestore(&port->lock, flags); | ||
577 | schedule_timeout_interruptible(port->close_delay); | ||
578 | spin_lock_irqsave(&port->lock, flags); | ||
579 | } | ||
580 | wake_up_interruptible(&port->open_wait); | ||
581 | } | ||
582 | |||
583 | port->flags &= ~(ASYNC_NORMAL_ACTIVE|ASYNC_CLOSING); | ||
584 | spin_unlock_irqrestore(&port->lock, flags); | ||
585 | wake_up_interruptible(&port->close_wait); | ||
586 | tty_port_tty_set(port, NULL); | 572 | tty_port_tty_set(port, NULL); |
587 | } | 573 | } |
588 | 574 | ||