diff options
Diffstat (limited to 'net/irda/ircomm/ircomm_tty.c')
-rw-r--r-- | net/irda/ircomm/ircomm_tty.c | 14 |
1 files changed, 7 insertions, 7 deletions
diff --git a/net/irda/ircomm/ircomm_tty.c b/net/irda/ircomm/ircomm_tty.c index 76c3057d0179..e4e2caeb9d82 100644 --- a/net/irda/ircomm/ircomm_tty.c +++ b/net/irda/ircomm/ircomm_tty.c | |||
@@ -650,12 +650,7 @@ static void ircomm_tty_do_softint(struct work_struct *work) | |||
650 | } | 650 | } |
651 | 651 | ||
652 | /* Check if user (still) wants to be waken up */ | 652 | /* Check if user (still) wants to be waken up */ |
653 | if ((tty->flags & (1 << TTY_DO_WRITE_WAKEUP)) && | 653 | tty_wakeup(tty); |
654 | tty->ldisc.write_wakeup) | ||
655 | { | ||
656 | (tty->ldisc.write_wakeup)(tty); | ||
657 | } | ||
658 | wake_up_interruptible(&tty->write_wait); | ||
659 | } | 654 | } |
660 | 655 | ||
661 | /* | 656 | /* |
@@ -1141,6 +1136,7 @@ static int ircomm_tty_data_indication(void *instance, void *sap, | |||
1141 | struct sk_buff *skb) | 1136 | struct sk_buff *skb) |
1142 | { | 1137 | { |
1143 | struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance; | 1138 | struct ircomm_tty_cb *self = (struct ircomm_tty_cb *) instance; |
1139 | struct tty_ldisc *ld; | ||
1144 | 1140 | ||
1145 | IRDA_DEBUG(2, "%s()\n", __func__ ); | 1141 | IRDA_DEBUG(2, "%s()\n", __func__ ); |
1146 | 1142 | ||
@@ -1173,7 +1169,11 @@ static int ircomm_tty_data_indication(void *instance, void *sap, | |||
1173 | * involve the flip buffers, since we are not running in an interrupt | 1169 | * involve the flip buffers, since we are not running in an interrupt |
1174 | * handler | 1170 | * handler |
1175 | */ | 1171 | */ |
1176 | self->tty->ldisc.receive_buf(self->tty, skb->data, NULL, skb->len); | 1172 | |
1173 | ld = tty_ldisc_ref(self->tty); | ||
1174 | if (ld) | ||
1175 | ld->ops->receive_buf(self->tty, skb->data, NULL, skb->len); | ||
1176 | tty_ldisc_deref(ld); | ||
1177 | 1177 | ||
1178 | /* No need to kfree_skb - see ircomm_ttp_data_indication() */ | 1178 | /* No need to kfree_skb - see ircomm_ttp_data_indication() */ |
1179 | 1179 | ||