void BChannel_bh(struct BCState *bcs) { if (!bcs) return; if (test_and_clear_bit(B_RCVBUFREADY, &bcs->event)) BChannel_proc_rcv(bcs); if (test_and_clear_bit(B_XMTBUFREADY, &bcs->event)) BChannel_proc_xmt(bcs); }
void BChannel_bh(struct work_struct *work) { struct BCState *bcs = container_of(work, struct BCState, tqueue); if (!bcs) return; if (test_and_clear_bit(B_RCVBUFREADY, &bcs->event)) BChannel_proc_rcv(bcs); if (test_and_clear_bit(B_XMTBUFREADY, &bcs->event)) BChannel_proc_xmt(bcs); if (test_and_clear_bit(B_ACKPENDING, &bcs->event)) BChannel_proc_ack(bcs); }