patch-2.3.14 linux/drivers/isdn/hisax/elsa_ser.c
Next file: linux/drivers/isdn/hisax/gazel.c
Previous file: linux/drivers/isdn/hisax/elsa.c
Back to the patch index
Back to the overall index
- Lines: 37
- Date:
Sun Aug 15 11:49:08 1999
- Orig file:
v2.3.13/linux/drivers/isdn/hisax/elsa_ser.c
- Orig date:
Tue Jun 1 23:25:48 1999
diff -u --recursive --new-file v2.3.13/linux/drivers/isdn/hisax/elsa_ser.c linux/drivers/isdn/hisax/elsa_ser.c
@@ -298,7 +298,7 @@
(PACKET_NOACK != bcs->tx_skb->pkt_type))
bcs->st->lli.l1writewakeup(bcs->st,
bcs->hw.hscx.count);
- dev_kfree_skb(bcs->tx_skb);
+ idev_kfree_skb(bcs->tx_skb, FREE_WRITE);
bcs->tx_skb = NULL;
}
}
@@ -510,13 +510,13 @@
bcs->hw.hscx.rcvbuf = NULL;
}
while ((skb = skb_dequeue(&bcs->rqueue))) {
- dev_kfree_skb(skb);
+ idev_kfree_skb(skb, FREE_READ);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
- dev_kfree_skb(skb);
+ idev_kfree_skb(skb, FREE_WRITE);
}
if (bcs->tx_skb) {
- dev_kfree_skb(bcs->tx_skb);
+ idev_kfree_skb(bcs->tx_skb, FREE_WRITE);
bcs->tx_skb = NULL;
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
}
@@ -664,7 +664,9 @@
st->l1.bcs->cs->hw.elsa.MFlag=2;
} else if (pr == (PH_DEACTIVATE | REQUEST)) {
test_and_clear_bit(BC_FLG_ACTIV, &st->l1.bcs->Flag);
- send_arcofi(st->l1.bcs->cs, ARCOFI_XOP_0, st->l1.bc, 0);
+ st->l1.bcs->cs->dc.isac.arcofi_bc = st->l1.bc;
+ arcofi_fsm(st->l1.bcs->cs, ARCOFI_START, &ARCOFI_XOP_0);
+ interruptible_sleep_on(&st->l1.bcs->cs->dc.isac.arcofi_wait);
st->l1.bcs->cs->hw.elsa.MFlag=1;
} else {
printk(KERN_WARNING"ElsaSer: unknown pr %x\n", pr);
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)