diff options
author | Karsten Keil <keil@b1-systems.de> | 2009-07-09 04:02:29 -0400 |
---|---|---|
committer | Karsten Keil <keil@b1-systems.de> | 2009-07-25 14:18:16 -0400 |
commit | fb286f0471a04ef646c8e5c79750ae6718183745 (patch) | |
tree | 6e88ae4869ca1aedb5e674733a903324530d6ee1 /drivers/isdn/hardware/mISDN/hfcpci.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/hfcpci.c')
-rw-r--r-- | drivers/isdn/hardware/mISDN/hfcpci.c | 16 |
1 files changed, 1 insertions, 15 deletions
diff --git a/drivers/isdn/hardware/mISDN/hfcpci.c b/drivers/isdn/hardware/mISDN/hfcpci.c index 228ffbed1286..70e6b0e01121 100644 --- a/drivers/isdn/hardware/mISDN/hfcpci.c +++ b/drivers/isdn/hardware/mISDN/hfcpci.c | |||
@@ -1522,22 +1522,8 @@ deactivate_bchannel(struct bchannel *bch) | |||
1522 | u_long flags; | 1522 | u_long flags; |
1523 | 1523 | ||
1524 | spin_lock_irqsave(&hc->lock, flags); | 1524 | spin_lock_irqsave(&hc->lock, flags); |
1525 | if (test_and_clear_bit(FLG_TX_NEXT, &bch->Flags)) { | 1525 | mISDN_clear_bchannel(bch); |
1526 | dev_kfree_skb(bch->next_skb); | ||
1527 | bch->next_skb = NULL; | ||
1528 | } | ||
1529 | if (bch->tx_skb) { | ||
1530 | dev_kfree_skb(bch->tx_skb); | ||
1531 | bch->tx_skb = NULL; | ||
1532 | } | ||
1533 | bch->tx_idx = 0; | ||
1534 | if (bch->rx_skb) { | ||
1535 | dev_kfree_skb(bch->rx_skb); | ||
1536 | bch->rx_skb = NULL; | ||
1537 | } | ||
1538 | mode_hfcpci(bch, bch->nr, ISDN_P_NONE); | 1526 | mode_hfcpci(bch, bch->nr, ISDN_P_NONE); |
1539 | test_and_clear_bit(FLG_ACTIVE, &bch->Flags); | ||
1540 | test_and_clear_bit(FLG_TX_BUSY, &bch->Flags); | ||
1541 | spin_unlock_irqrestore(&hc->lock, flags); | 1527 | spin_unlock_irqrestore(&hc->lock, flags); |
1542 | } | 1528 | } |
1543 | 1529 | ||