diff options
Diffstat (limited to 'drivers/isdn/hardware/mISDN/mISDNisar.c')
| -rw-r--r-- | drivers/isdn/hardware/mISDN/mISDNisar.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/isdn/hardware/mISDN/mISDNisar.c b/drivers/isdn/hardware/mISDN/mISDNisar.c index be5973ded6d6..182ecf0626c2 100644 --- a/drivers/isdn/hardware/mISDN/mISDNisar.c +++ b/drivers/isdn/hardware/mISDN/mISDNisar.c | |||
| @@ -1588,8 +1588,9 @@ isar_bctrl(struct mISDNchannel *ch, u32 cmd, void *arg) | |||
| 1588 | switch (cmd) { | 1588 | switch (cmd) { |
| 1589 | case CLOSE_CHANNEL: | 1589 | case CLOSE_CHANNEL: |
| 1590 | test_and_clear_bit(FLG_OPEN, &bch->Flags); | 1590 | test_and_clear_bit(FLG_OPEN, &bch->Flags); |
| 1591 | cancel_work_sync(&bch->workq); | ||
| 1591 | spin_lock_irqsave(ich->is->hwlock, flags); | 1592 | spin_lock_irqsave(ich->is->hwlock, flags); |
| 1592 | mISDN_freebchannel(bch); | 1593 | mISDN_clear_bchannel(bch); |
| 1593 | modeisar(ich, ISDN_P_NONE); | 1594 | modeisar(ich, ISDN_P_NONE); |
| 1594 | spin_unlock_irqrestore(ich->is->hwlock, flags); | 1595 | spin_unlock_irqrestore(ich->is->hwlock, flags); |
| 1595 | ch->protocol = ISDN_P_NONE; | 1596 | ch->protocol = ISDN_P_NONE; |
