Commit 4f609391 authored by Kai Germaschewski's avatar Kai Germaschewski

ISDN: Fix BC_BUSY problem

Make sure to properly reset the state after disconnect

(Karsten Keil)
parent 992bbca5
...@@ -1919,6 +1919,8 @@ static void hisax_b_l1l2(struct hisax_if *ifc, int pr, void *arg) ...@@ -1919,6 +1919,8 @@ static void hisax_b_l1l2(struct hisax_if *ifc, int pr, void *arg)
break; break;
case PH_DEACTIVATE | INDICATION: case PH_DEACTIVATE | INDICATION:
L1L2(st, pr, NULL); L1L2(st, pr, NULL);
clear_bit(BC_FLG_BUSY, &bcs->Flag);
skb_queue_purge(&bcs->squeue);
bcs->hw.b_if = NULL; bcs->hw.b_if = NULL;
break; break;
case PH_DATA | INDICATION: case PH_DATA | INDICATION:
...@@ -2006,6 +2008,9 @@ static void hisax_b_l2l1(struct PStack *st, int pr, void *arg) ...@@ -2006,6 +2008,9 @@ static void hisax_b_l2l1(struct PStack *st, int pr, void *arg)
else else
set_bit(FLG_L1_PULL_REQ, &st->l1.Flags); set_bit(FLG_L1_PULL_REQ, &st->l1.Flags);
break; break;
case PH_DEACTIVATE | REQUEST:
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
skb_queue_purge(&bcs->squeue);
default: default:
B_L2L1(b_if, pr, arg); B_L2L1(b_if, pr, arg);
break; break;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment