aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--net/irda/ircomm/ircomm_tty.c16
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