diff options
author | Karsten Keil <keil@b1-systems.de> | 2009-07-09 10:02:29 +0200 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-07-25 20:18:16 +0200 |
commit | fb286f0471a04ef646c8e5c79750ae6718183745 (patch) | |
tree | 6e88ae4869ca1aedb5e674733a903324530d6ee1 /drivers/isdn/hardware/mISDN/hfcmulti.c | |
parent | f3fad223ed69f406f33c9619c256858d5a5fc5c7 (diff) |
mISDN: Make clearing B-channel a common function
Clearing B-channel is needed in every driver, so it makes sense
to have it as common function.
Signed-off-by: Karsten Keil <keil@b1-systems.de>
Diffstat (limited to 'drivers/isdn/hardware/mISDN/hfcmulti.c')
-rw-r--r-- | drivers/isdn/hardware/mISDN/hfcmulti.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/drivers/isdn/hardware/mISDN/hfcmulti.c b/drivers/isdn/hardware/mISDN/hfcmulti.c index e1dab30aed3..fd77bb15d79 100644 --- a/drivers/isdn/hardware/mISDN/hfcmulti.c +++ b/drivers/isdn/hardware/mISDN/hfcmulti.c @@ -3416,22 +3416,8 @@ deactivate_bchannel(struct bchannel *bch) u_long flags; spin_lock_irqsave(&hc->lock, flags); - if (test_and_clear_bit(FLG_TX_NEXT, &bch->Flags)) { - dev_kfree_skb(bch->next_skb); - bch->next_skb = NULL; - } - if (bch->tx_skb) { - dev_kfree_skb(bch->tx_skb); - bch->tx_skb = NULL; - } - bch->tx_idx = 0; - if (bch->rx_skb) { - dev_kfree_skb(bch->rx_skb); - bch->rx_skb = NULL; - } + mISDN_clear_bchannel(bch); hc->chan[bch->slot].coeff_count = 0; - test_and_clear_bit(FLG_ACTIVE, &bch->Flags); - test_and_clear_bit(FLG_TX_BUSY, &bch->Flags); hc->chan[bch->slot].rx_off = 0; hc->chan[bch->slot].conf = -1; mode_hfcmulti(hc, bch->slot, ISDN_P_NONE, -1, 0, -1, 0); |