aboutsummaryrefslogtreecommitdiffstats
path: root/net/irda/ircomm/ircomm_tty.c
diff options
context:
space:
mode:
Diffstat (limited to 'net/irda/ircomm/ircomm_tty.c')
-rw-r--r--net/irda/ircomm/ircomm_tty.c9
1 files changed, 3 insertions, 6 deletions
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c
index 5d1e61168eb7..6f20b4206e08 100644
--- a/net/irda/ircomm/ircomm_tty.c
+++ b/net/irda/ircomm/ircomm_tty.c
@@ -567,10 +567,8 @@ static void ircomm_tty_close(struct tty_struct *tty, struct file *filp)
567 self->tty = NULL; 567 self->tty = NULL;
568 568
569 if (self->blocked_open) { 569 if (self->blocked_open) {
570 if (self->close_delay) { 570 if (self->close_delay)
571 current->state = TASK_INTERRUPTIBLE; 571 schedule_timeout_interruptible(self->close_delay);
572 schedule_timeout(self->close_delay);
573 }
574 wake_up_interruptible(&self->open_wait); 572 wake_up_interruptible(&self->open_wait);
575 } 573 }
576 574
@@ -863,8 +861,7 @@ static void ircomm_tty_wait_until_sent(struct tty_struct *tty, int timeout)
863 spin_lock_irqsave(&self->spinlock, flags); 861 spin_lock_irqsave(&self->spinlock, flags);
864 while (self->tx_skb && self->tx_skb->len) { 862 while (self->tx_skb && self->tx_skb->len) {
865 spin_unlock_irqrestore(&self->spinlock, flags); 863 spin_unlock_irqrestore(&self->spinlock, flags);
866 current->state = TASK_INTERRUPTIBLE; 864 schedule_timeout_interruptible(poll_time);
867 schedule_timeout(poll_time);
868 spin_lock_irqsave(&self->spinlock, flags); 865 spin_lock_irqsave(&self->spinlock, flags);
869 if (signal_pending(current)) 866 if (signal_pending(current))
870 break; 867 break;