• Home
  • History
  • Annotate
  • Raw
  • Download
  • only in /netgear-R7000-V1.0.7.12_1.2.5/components/opensource/linux/linux-2.6.36/drivers/isdn/mISDN/

Lines Matching defs:bch

48 	struct bchannel	*bch  = container_of(ws, struct bchannel, workq);
52 if (test_and_clear_bit(FLG_RECVQUEUE, &bch->Flags)) {
53 while ((skb = skb_dequeue(&bch->rqueue))) {
54 bch->rcount--;
55 if (likely(bch->ch.peer)) {
56 err = bch->ch.recv(bch->ch.peer, skb);
200 recv_Bchannel(struct bchannel *bch, unsigned int id)
204 hh = mISDN_HEAD_P(bch->rx_skb);
207 if (bch->rcount >= 64) {
209 "fushing!\n", bch);
210 skb_queue_purge(&bch->rqueue);
211 bch->rcount = 0;
214 bch->rcount++;
215 skb_queue_tail(&bch->rqueue, bch->rx_skb);
216 bch->rx_skb = NULL;
217 schedule_event(bch, FLG_RECVQUEUE);
230 recv_Bchannel_skb(struct bchannel *bch, struct sk_buff *skb)
232 if (bch->rcount >= 64) {
234 "fushing!\n", bch);
235 skb_queue_purge(&bch->rqueue);
236 bch->rcount = 0;
238 bch->rcount++;
239 skb_queue_tail(&bch->rqueue, skb);
240 schedule_event(bch, FLG_RECVQUEUE);
276 confirm_Bsend(struct bchannel *bch)
280 if (bch->rcount >= 64) {
282 "fushing!\n", bch);
283 skb_queue_purge(&bch->rqueue);
284 bch->rcount = 0;
286 skb = _alloc_mISDN_skb(PH_DATA_CNF, mISDN_HEAD_ID(bch->tx_skb),
290 mISDN_HEAD_ID(bch->tx_skb));
293 bch->rcount++;
294 skb_queue_tail(&bch->rqueue, skb);
295 schedule_event(bch, FLG_RECVQUEUE);
300 get_next_bframe(struct bchannel *bch)
302 bch->tx_idx = 0;
303 if (test_bit(FLG_TX_NEXT, &bch->Flags)) {
304 bch->tx_skb = bch->next_skb;
305 if (bch->tx_skb) {
306 bch->next_skb = NULL;
307 test_and_clear_bit(FLG_TX_NEXT, &bch->Flags);
308 if (!test_bit(FLG_TRANSPARENT, &bch->Flags))
309 confirm_Bsend(bch); /* not for transparent */
312 test_and_clear_bit(FLG_TX_NEXT, &bch->Flags);
316 bch->tx_skb = NULL;
317 test_and_clear_bit(FLG_TX_BUSY, &bch->Flags);