change for 2.1.86 (removing FREE_READ/FREE_WRITE from [dev]_kfree_skb()

This commit is contained in:
Karsten Keil 1998-02-12 23:08:50 +00:00
parent 2bc2e218d4
commit dfed11997a
20 changed files with 178 additions and 118 deletions

View File

@ -20,6 +20,11 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.4 1997/10/09 22:23:00 fritz
* New HL<->LL interface:
* New BSENT callback with nr. of bytes included.
* Sending without ACK.
*
* Revision 1.3 1997/09/25 17:25:38 fritz
* Support for adding cards at runtime.
* Support for new Firmware.
@ -417,7 +422,7 @@ isa_send(act2000_card * card)
msg->msg.data_b3_req.flags = card->need_b3ack;
skb_queue_tail(&card->ackq, skb);
} else
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
card->sbuf = NULL;
#if 0
printk(KERN_DEBUG "isa_send: %d bytes\n", l);

View File

@ -21,6 +21,11 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.5 1997/10/09 22:23:02 fritz
* New HL<->LL interface:
* New BSENT callback with nr. of bytes included.
* Sending without ACK.
*
* Revision 1.4 1997/09/25 17:25:39 fritz
* Support for adding cards at runtime.
* Support for new Firmware.
@ -637,7 +642,7 @@ handle_ack(act2000_card *card, act2000_chan *chan, __u8 blocknr) {
chan->queued -= m->msg.data_b3_req.datalen;
if (m->msg.data_b3_req.flags)
ret = m->msg.data_b3_req.datalen;
dev_kfree_skb(tmp, FREE_WRITE);
dev_kfree_skb(tmp);
if (chan->queued < 0)
chan->queued = 0;
return ret;
@ -960,7 +965,7 @@ actcapi_dispatch(act2000_card *card)
printk(KERN_WARNING "act2000: UNHANDLED Message %04x\n", ccmd);
break;
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
}

View File

@ -20,6 +20,9 @@
* Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
*
* $Log$
* Revision 1.6 1998/01/31 22:10:42 keil
* changes for 2.1.82
*
* Revision 1.5 1997/10/09 22:23:04 fritz
* New HL<->LL interface:
* New BSENT callback with nr. of bytes included.
@ -507,7 +510,7 @@ act2000_sendbuf(act2000_card *card, int channel, int ack, struct sk_buff *skb)
return 0;
}
}
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
msg = (actcapi_msg *)skb_push(xmit_skb, 19);
msg->hdr.len = 19 + len;
msg->hdr.applicationID = 1;

View File

@ -7,6 +7,9 @@
*
*
* $Log$
* Revision 1.1 1998/02/03 23:20:51 keil
* New files for SPARC isdn support
*
* Revision 1.1 1998/01/08 04:17:12 baccala
* ISDN comes to the Sparc. Key points:
*
@ -113,7 +116,7 @@ Bchan_xmt_bh(struct BCState *bcs)
struct sk_buff *skb;
if (bcs->hw.amd7930.tx_skb != NULL) {
dev_kfree_skb(bcs->hw.amd7930.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.amd7930.tx_skb);
bcs->hw.amd7930.tx_skb = NULL;
}
@ -173,7 +176,7 @@ Bchan_fill_fifo(struct BCState *bcs, struct sk_buff *skb)
bcs->hw.amd7930.tx_buff, len,
(void *) &Bchan_xmit_callback,
(void *) bcs);
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
} else if (bcs->mode == L1_MODE_TRANS) {
amd7930_bxmit(0, bcs->channel,
bcs->hw.amd7930.tx_buff, skb->len,
@ -181,7 +184,7 @@ Bchan_fill_fifo(struct BCState *bcs, struct sk_buff *skb)
(void *) bcs);
bcs->hw.amd7930.tx_skb = skb;
} else {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
}
@ -368,10 +371,10 @@ Bchan_close(struct BCState *bcs)
if (test_bit(BC_FLG_INIT, &bcs->Flag)) {
while ((skb = skb_dequeue(&bcs->rqueue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
}
test_and_clear_bit(BC_FLG_INIT, &bcs->Flag);

View File

@ -7,6 +7,9 @@
* Fritz Elfert
*
* $Log$
* Revision 2.12 1998/02/09 10:55:54 keil
* New leased line mode
*
* Revision 2.11 1998/02/02 13:35:19 keil
* config B-channel delay
*
@ -1812,7 +1815,7 @@ lldata_handler(struct PStack *st, int pr, void *arg)
if (chanp->data_open)
chanp->cs->iif.rcvcallb_skb(chanp->cs->myid, chanp->chan, skb);
else {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
break;
default:
@ -1840,7 +1843,7 @@ lltrans_handler(struct PStack *st, int pr, void *arg)
chanp->cs->iif.rcvcallb_skb(chanp->cs->myid,
chanp->chan, skb);
} else
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
break;
default:
@ -2205,7 +2208,7 @@ HiSax_writebuf_skb(int id, int chan, int ack, struct sk_buff *skb)
chanp->bcs->tx_cnt += len;
st->l2.l2l1(st, PH_DATA_REQ, nskb);
}
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
} else
len = 0;
restore_flags(flags);

View File

@ -6,6 +6,9 @@
*
*
* $Log$
* Revision 1.2 1998/02/02 13:26:13 keil
* New
*
*
*
*/
@ -266,7 +269,7 @@ static struct sk_buff
sti();
debugl1(cs, "RFIFO BUSY error");
printk(KERN_WARNING "HFC FIFO channel %d BUSY Error\n", bcs->channel);
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
skb = NULL;
} else {
cli();
@ -284,7 +287,7 @@ static struct sk_buff
}
if (stat) {
debugl1(cs, "FIFO CRC error");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
skb = NULL;
}
}
@ -380,7 +383,7 @@ hfc_fill_fifo(struct BCState *bcs)
if (bcs->st->lli.l1writewakeup &&
(PACKET_NOACK != bcs->hw.hfc.tx_skb->pkt_type))
bcs->st->lli.l1writewakeup(bcs->st, bcs->hw.hfc.tx_skb->len);
dev_kfree_skb(bcs->hw.hfc.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hfc.tx_skb);
bcs->hw.hfc.tx_skb = NULL;
}
WaitForBusy(cs);
@ -580,13 +583,13 @@ close_2bs0(struct BCState *bcs)
mode_2bs0(bcs, 0, 0);
if (test_and_clear_bit(BC_FLG_INIT, &bcs->Flag)) {
while ((skb = skb_dequeue(&bcs->rqueue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
if (bcs->hw.hfc.tx_skb) {
dev_kfree_skb(bcs->hw.hfc.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hfc.tx_skb);
bcs->hw.hfc.tx_skb = NULL;
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
}
@ -779,7 +782,7 @@ int receive_dmsg(struct IsdnCardState *cs)
sti();
debugl1(cs, "RFIFO D BUSY error");
printk(KERN_WARNING "HFC DFIFO channel BUSY Error\n");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
skb = NULL;
} else {
cli();
@ -797,7 +800,7 @@ int receive_dmsg(struct IsdnCardState *cs)
}
if (stat) {
debugl1(cs, "FIFO CRC error");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
skb = NULL;
} else {
skb_queue_tail(&cs->rq, skb);
@ -899,7 +902,7 @@ hfc_fill_dfifo(struct IsdnCardState *cs)
cli();
WaitNoBusy(cs);
ReadReg(cs, HFCD_DATA, HFCD_FIFO | HFCD_F1_INC | HFCD_SEND);
dev_kfree_skb(cs->tx_skb, FREE_WRITE);
dev_kfree_skb(cs->tx_skb);
cs->tx_skb = NULL;
sti();
WaitForBusy(cs);
@ -1046,7 +1049,7 @@ hfc2bds0_interrupt(struct IsdnCardState *cs, u_char val)
}
goto afterXPR;
} else {
dev_kfree_skb(cs->tx_skb, FREE_WRITE);
dev_kfree_skb(cs->tx_skb);
cs->tx_cnt = 0;
cs->tx_skb = NULL;
}

View File

@ -6,6 +6,9 @@
*
*
* $Log$
* Revision 1.3 1997/11/06 17:13:35 keil
* New 2.1 init code
*
* Revision 1.2 1997/10/29 19:04:47 keil
* changes for 2.1
*
@ -216,7 +219,7 @@ hfc_empty_fifo(struct BCState *bcs, int count)
if (idx != count - 3) {
debugl1(cs, "RFIFO BUSY error");
printk(KERN_WARNING "HFC FIFO channel %d BUSY Error\n", bcs->channel);
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
WaitNoBusy(cs);
stat = cs->BC_Read_Reg(cs, HFC_DATA, HFC_CIP | HFC_F2_INC | HFC_REC |
HFC_CHANNEL(bcs->channel));
@ -236,7 +239,7 @@ hfc_empty_fifo(struct BCState *bcs, int count)
}
if (stat) {
debugl1(cs, "FIFO CRC error");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
skb = NULL;
}
WaitNoBusy(cs);
@ -315,7 +318,7 @@ hfc_fill_fifo(struct BCState *bcs)
bcs->tx_cnt -= count;
if (PACKET_NOACK == bcs->hw.hfc.tx_skb->pkt_type)
count = -1;
dev_kfree_skb(bcs->hw.hfc.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hfc.tx_skb);
bcs->hw.hfc.tx_skb = NULL;
WaitForBusy(cs);
WaitNoBusy(cs);
@ -505,13 +508,13 @@ close_hfcstate(struct BCState *bcs)
mode_hfc(bcs, 0, 0);
if (test_bit(BC_FLG_INIT, &bcs->Flag)) {
while ((skb = skb_dequeue(&bcs->rqueue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
if (bcs->hw.hfc.tx_skb) {
dev_kfree_skb(bcs->hw.hfc.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hfc.tx_skb);
bcs->hw.hfc.tx_skb = NULL;
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
}

View File

@ -6,6 +6,9 @@
*
*
* $Log$
* Revision 1.6 1998/02/02 13:41:12 keil
* new init
*
* Revision 1.5 1997/11/06 17:09:34 keil
* New 2.1 init code
*
@ -162,13 +165,13 @@ close_hscxstate(struct BCState *bcs)
bcs->hw.hscx.rcvbuf = NULL;
}
while ((skb = skb_dequeue(&bcs->rqueue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
if (bcs->hw.hscx.tx_skb) {
dev_kfree_skb(bcs->hw.hscx.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hscx.tx_skb);
bcs->hw.hscx.tx_skb = NULL;
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
}

View File

@ -7,6 +7,9 @@
* This is an include file for fast inline IRQ stuff
*
* $Log$
* Revision 1.6 1997/10/29 19:01:07 keil
* changes for 2.1
*
* Revision 1.5 1997/10/01 09:21:35 fritz
* Removed old compatibility stuff for 2.0.X kernels.
* From now on, this code is for 2.1.X ONLY!
@ -221,7 +224,7 @@ hscx_interrupt(struct IsdnCardState *cs, u_char val, u_char hscx)
if (bcs->st->lli.l1writewakeup &&
(PACKET_NOACK != bcs->hw.hscx.tx_skb->pkt_type))
bcs->st->lli.l1writewakeup(bcs->st, bcs->hw.hscx.count);
dev_kfree_skb(bcs->hw.hscx.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.hscx.tx_skb);
bcs->hw.hscx.count = 0;
bcs->hw.hscx.tx_skb = NULL;
}

View File

@ -6,6 +6,9 @@
*
*
* $Log$
* Revision 1.11 1998/02/09 10:54:49 keil
* fixes for leased mode
*
* Revision 1.10 1998/02/02 13:37:37 keil
* new init
*
@ -304,7 +307,7 @@ isac_interrupt(struct IsdnCardState *cs, u_char val)
isac_fill_fifo(cs);
goto afterXPR;
} else {
dev_kfree_skb(cs->tx_skb, FREE_WRITE);
dev_kfree_skb(cs->tx_skb);
cs->tx_cnt = 0;
cs->tx_skb = NULL;
}

View File

@ -11,6 +11,9 @@
*
*
* $Log$
* Revision 2.17 1998/02/11 17:28:07 keil
* Niccy PnP/PCI support
*
* Revision 2.16 1998/02/09 18:46:08 keil
* Support for Sedlbauer PCMCIA (Marcus Niemann)
*
@ -465,7 +468,7 @@ DChannel_proc_rcv(struct IsdnCardState *cs)
stptr = stptr->next;
}
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
} else if (sapi == CTRL_SAPI) {
found = 0;
while (stptr != NULL)
@ -488,7 +491,7 @@ DChannel_proc_rcv(struct IsdnCardState *cs)
LogFrame(cs, skb->data, skb->len);
dlogframe(cs, skb->data + 4, skb->len - 4, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
}
}
@ -591,13 +594,13 @@ closecard(int cardnr)
csta->rcvbuf = NULL;
}
while ((skb = skb_dequeue(&csta->rq))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&csta->sq))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
if (csta->tx_skb) {
dev_kfree_skb(csta->tx_skb, FREE_WRITE);
dev_kfree_skb(csta->tx_skb);
csta->tx_skb = NULL;
}
if (csta->mon_rx) {

View File

@ -7,6 +7,9 @@
* Fritz Elfert
*
* $Log$
* Revision 2.6 1998/02/02 13:36:15 keil
* bugfix X.75 win calculation
*
* Revision 2.5 1997/11/06 17:09:22 keil
* New 2.1 init code
*
@ -136,7 +139,7 @@ ReleaseWin(struct Layer2 *l2)
for (i = 0; i < MAX_WINDOW; i++) {
if (l2->windowar[i]) {
cnt++;
dev_kfree_skb(l2->windowar[i], FREE_WRITE);
dev_kfree_skb(l2->windowar[i]);
l2->windowar[i] = NULL;
}
}
@ -161,7 +164,7 @@ discard_i_queue(struct PStack *st)
struct sk_buff *skb;
while ((skb = skb_dequeue(&st->l2.i_queue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
}
@ -171,7 +174,7 @@ discard_ui_queue(struct PStack *st)
struct sk_buff *skb;
while ((skb = skb_dequeue(&st->l2.ui_queue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
}
@ -314,7 +317,7 @@ setva(struct PStack *st, int nr)
len = l2->windowar[l2->sow]->len;
if (PACKET_NOACK == l2->windowar[l2->sow]->pkt_type)
len = -1;
dev_kfree_skb(l2->windowar[l2->sow], FREE_WRITE);
dev_kfree_skb(l2->windowar[l2->sow]);
l2->windowar[l2->sow] = NULL;
l2->sow = (l2->sow + 1) % l2->window;
if (st->lli.l2writewakeup && (len >=0))
@ -348,7 +351,7 @@ get_PollFlag(struct PStack * st, struct sk_buff * skb)
inline void
FreeSkb(struct sk_buff *skb)
{
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
@ -1113,7 +1116,7 @@ l2_pull_iqueue(struct FsmInst *fi, int event, void *arg)
if (l2->windowar[p1]) {
printk(KERN_WARNING "isdnl2 try overwrite ack queue entry %d\n",
p1);
dev_kfree_skb(l2->windowar[p1], FREE_WRITE);
dev_kfree_skb(l2->windowar[p1]);
}
l2->windowar[p1] = skb_clone(skb, GFP_ATOMIC);
@ -1446,12 +1449,12 @@ isdnl2_l3l2(struct PStack *st, int pr, void *arg)
switch (pr) {
case (DL_DATA):
if (FsmEvent(&st->l2.l2m, EV_L2_DL_DATA, arg)) {
dev_kfree_skb((struct sk_buff *) arg, FREE_READ);
dev_kfree_skb((struct sk_buff *) arg);
}
break;
case (DL_UNIT_DATA):
if (FsmEvent(&st->l2.l2m, EV_L2_DL_UNIT_DATA, arg)) {
dev_kfree_skb((struct sk_buff *) arg, FREE_READ);
dev_kfree_skb((struct sk_buff *) arg);
}
break;
}

View File

@ -7,6 +7,9 @@
* Fritz Elfert
*
* $Log$
* Revision 2.4 1997/11/06 17:09:25 keil
* New 2.1 init code
*
* Revision 2.3 1997/10/29 19:07:53 keil
* changes for 2.1
*
@ -193,7 +196,7 @@ no_l3_proto(struct PStack *st, int pr, void *arg)
HiSax_putstatus(st->l1.hardware, "L3 no D protocol\n");
if (skb) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
}

View File

@ -6,6 +6,9 @@
*
*
* $Log$
* Revision 2.3 1997/11/06 17:12:24 keil
* KERN_NOTICE --> KERN_INFO
*
* Revision 2.2 1997/10/29 19:03:00 keil
* changes for 2.1
*
@ -244,7 +247,7 @@ l3_1tr6_setup(struct l3_process *pc, u_char pr, void *arg)
if ((FAC_SPV == p[3]) || (FAC_Activate == p[3]))
pc->para.spv = 1;
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
/* Signal all services, linklevel takes care of Service-Indicator */
if (bcfound) {
@ -273,7 +276,7 @@ l3_1tr6_setup_ack(struct l3_process *pc, u_char pr, void *arg)
pc->para.bchannel = p[2] & 0x3;
} else if (pc->st->l3.debug & L3_DEB_WARN)
l3_debug(pc->st, "setup answer without bchannel");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
L3AddTimer(&pc->timer, T304, CC_T304);
pc->st->l3.l3l4(pc, CC_MORE_INFO, NULL);
}
@ -290,7 +293,7 @@ l3_1tr6_call_sent(struct l3_process *pc, u_char pr, void *arg)
pc->para.bchannel = p[2] & 0x3;
} else if (pc->st->l3.debug & L3_DEB_WARN)
l3_debug(pc->st, "setup answer without bchannel");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
L3AddTimer(&pc->timer, T310, CC_T310);
newl3state(pc, 3);
pc->st->l3.l3l4(pc, CC_PROCEEDING_IND, NULL);
@ -301,7 +304,7 @@ l3_1tr6_alert(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
L3DelTimer(&pc->timer); /* T304 */
newl3state(pc, 4);
pc->st->l3.l3l4(pc, CC_ALERTING_IND, NULL);
@ -332,7 +335,7 @@ l3_1tr6_info(struct l3_process *pc, u_char pr, void *arg)
}
} else if (pc->st->l3.debug & L3_DEB_CHARGE)
l3_debug(pc->st, "charging info not found");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
@ -341,7 +344,7 @@ l3_1tr6_info_s2(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
static void
@ -351,7 +354,7 @@ l3_1tr6_connect(struct l3_process *pc, u_char pr, void *arg)
L3DelTimer(&pc->timer); /* T310 */
newl3state(pc, 10);
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
pc->para.chargeinfo = 0;
pc->st->l3.l3l4(pc, CC_SETUP_CNF, NULL);
}
@ -376,7 +379,7 @@ l3_1tr6_rel(struct l3_process *pc, u_char pr, void *arg)
}
} else
pc->para.cause = -1;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
StopAllL3Timer(pc);
newl3state(pc, 0);
l3_1TR6_message(pc, MT_N1_REL_ACK, PROTO_DIS_N1);
@ -389,7 +392,7 @@ l3_1tr6_rel_ack(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
StopAllL3Timer(pc);
newl3state(pc, 0);
pc->para.cause = -1;
@ -442,7 +445,7 @@ l3_1tr6_disc(struct l3_process *pc, u_char pr, void *arg)
l3_debug(pc->st, "cause not found");
pc->para.cause = -1;
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 12);
pc->st->l3.l3l4(pc, CC_DISCONNECT_IND, NULL);
}
@ -453,7 +456,7 @@ l3_1tr6_connect_ack(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 10);
pc->para.chargeinfo = 0;
L3DelTimer(&pc->timer);
@ -731,7 +734,7 @@ up1tr6(struct PStack *st, int pr, void *arg)
sprintf(tmp, "up1tr6 len only %d", skb->len);
l3_debug(st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
if ((skb->data[0] & 0xfe) != PROTO_DIS_N0) {
@ -741,7 +744,7 @@ up1tr6(struct PStack *st, int pr, void *arg)
skb->data[0], skb->len);
l3_debug(st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
if (skb->data[1] != 1) {
@ -749,13 +752,13 @@ up1tr6(struct PStack *st, int pr, void *arg)
sprintf(tmp, "up1tr6 CR len not 1");
l3_debug(st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
cr = skb->data[2];
mt = skb->data[3];
if (skb->data[0] == PROTO_DIS_N0) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (st->l3.debug & L3_DEB_STATE) {
sprintf(tmp, "up1tr6%s N0 mt %x unhandled",
(pr == DL_DATA) ? " " : "(broadcast) ", mt);
@ -769,11 +772,11 @@ up1tr6(struct PStack *st, int pr, void *arg)
sprintf(tmp, "up1tr6 no roc mem");
l3_debug(st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
} else {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
}
@ -782,7 +785,7 @@ up1tr6(struct PStack *st, int pr, void *arg)
((1 << proc->state) & datastln1[i].state))
break;
if (i == datastln1_len) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (st->l3.debug & L3_DEB_STATE) {
sprintf(tmp, "up1tr6%sstate %d mt %x unhandled",
(pr == DL_DATA) ? " " : "(broadcast) ",

View File

@ -9,6 +9,9 @@
* Fritz Elfert
*
* $Log$
* Revision 2.6 1998/02/03 23:26:35 keil
* V110 extensions from Thomas Pfeiffer
*
* Revision 2.5 1998/02/02 13:34:28 keil
* Support australian Microlink net and german AOCD
*
@ -304,7 +307,7 @@ l3dss1_release_cmpl(struct l3_process *pc, u_char pr, void *arg)
pc->para.loc = *p++;
cause = *p & 0x7f;
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
StopAllL3Timer(pc);
pc->para.cause = cause;
newl3state(pc, 0);
@ -648,7 +651,7 @@ l3dss1_call_proc(struct l3_process *pc, u_char pr, void *arg)
l3_debug(pc->st, "setup answer without bchannel");
} else if (pc->debug & L3_DEB_WARN)
l3_debug(pc->st, "setup answer without bchannel");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 3);
L3AddTimer(&pc->timer, T310, CC_T310);
pc->st->l3.l3l4(pc, CC_PROCEEDING_IND, NULL);
@ -668,7 +671,7 @@ l3dss1_setup_ack(struct l3_process *pc, u_char pr, void *arg)
l3_debug(pc->st, "setup answer without bchannel");
} else if (pc->debug & L3_DEB_WARN)
l3_debug(pc->st, "setup answer without bchannel");
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 2);
L3AddTimer(&pc->timer, T304, CC_T304);
pc->st->l3.l3l4(pc, CC_MORE_INFO, NULL);
@ -690,7 +693,7 @@ l3dss1_disconnect(struct l3_process *pc, u_char pr, void *arg)
pc->para.loc = *p++;
cause = *p & 0x7f;
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 12);
pc->para.cause = cause;
pc->st->l3.l3l4(pc, CC_DISCONNECT_IND, NULL);
@ -701,7 +704,7 @@ l3dss1_connect(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
L3DelTimer(&pc->timer); /* T310 */
newl3state(pc, 10);
pc->para.chargeinfo = 0;
@ -713,7 +716,7 @@ l3dss1_alerting(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
L3DelTimer(&pc->timer); /* T304 */
newl3state(pc, 4);
pc->st->l3.l3l4(pc, CC_ALERTING_IND, NULL);
@ -780,7 +783,7 @@ l3dss1_setup(struct l3_process *pc, u_char pr, void *arg)
* cause 0x60
*/
pc->para.cause = 0x60;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (pc->state == 0)
pc->st->l3.l3l4(pc, CC_ESTABLISH, NULL);
else
@ -844,7 +847,7 @@ l3dss1_setup(struct l3_process *pc, u_char pr, void *arg)
l3_debug(pc->st, "setup without bearer capabilities");
/* ETS 300-104 1.3.3 */
pc->para.cause = 0x60;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (pc->state == 0)
pc->st->l3.l3l4(pc, CC_ESTABLISH, NULL);
else
@ -894,7 +897,7 @@ l3dss1_setup(struct l3_process *pc, u_char pr, void *arg)
l3_debug(pc->st, "wrong calling subaddress");
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (bcfound) {
if ((pc->para.setup.si1 != 7) && (pc->debug & L3_DEB_WARN)) {
@ -929,7 +932,7 @@ l3dss1_connect_ack(struct l3_process *pc, u_char pr, void *arg)
{
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 10);
L3DelTimer(&pc->timer);
pc->st->l3.l3l4(pc, CC_SETUP_COMPLETE_IND, NULL);
@ -1016,7 +1019,7 @@ l3dss1_release(struct l3_process *pc, u_char pr, void *arg)
p = NULL;
#endif
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
StopAllL3Timer(pc);
pc->para.cause = cause;
l3dss1_message(pc, MT_RELEASE_COMPLETE);
@ -1041,7 +1044,7 @@ l3dss1_status_enq(struct l3_process *pc, u_char pr, void *arg)
int l;
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
MsgHead(p, pc->callref, MT_STATUS);
@ -1071,7 +1074,7 @@ l3dss1_status_req(struct l3_process *pc, u_char pr, void *arg)
int l;
struct sk_buff *skb = arg;
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
MsgHead(p, pc->callref, MT_STATUS);
@ -1256,7 +1259,7 @@ l3dss1_status(struct l3_process *pc, u_char pr, void *arg)
*/
l3dss1_release_ind(pc, pr, arg);
} else
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
static void
@ -1304,7 +1307,7 @@ l3dss1_global_restart(struct l3_process *pc, u_char pr, void *arg)
sprintf(tmp, "Restart for channel %d", chan);
l3_debug(pc->st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
newl3state(pc, 2);
up = pc->st->l3.proc;
while (up) {
@ -1460,7 +1463,7 @@ global_handler(struct PStack *st, int mt, struct sk_buff *skb)
((1 << proc->state) & globalmes_list[i].state))
break;
if (i == globalm_len) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (st->l3.debug & L3_DEB_STATE) {
sprintf(tmp, "dss1 global state %d mt %x unhandled",
proc->state, mt);
@ -1493,7 +1496,7 @@ dss1up(struct PStack *st, int pr, void *arg)
skb->data[0], skb->len);
l3_debug(st, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
cr = getcallref(skb->data);
@ -1502,7 +1505,7 @@ dss1up(struct PStack *st, int pr, void *arg)
global_handler(st, mt, skb);
return;
} else if (cr == -1) { /* Dummy Callref */
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
} else if (!(proc = getl3proc(st, cr))) {
/* No transaction process exist, that means no call with
@ -1515,7 +1518,7 @@ dss1up(struct PStack *st, int pr, void *arg)
* CAUSE 0x2f "Resource unavailable", but this
* need a new_l3_process too ... arghh
*/
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
}
} else if (mt == MT_STATUS) {
@ -1539,7 +1542,7 @@ dss1up(struct PStack *st, int pr, void *arg)
* MT_STATUS is received with call state == 0,
* we must send nothing
*/
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
} else {
/* ETS 300-104 part 2.4.2
@ -1547,7 +1550,7 @@ dss1up(struct PStack *st, int pr, void *arg)
* MT_STATUS is received with call state != 0,
* we must send MT_RELEASE_COMPLETE cause 101
*/
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if ((proc = new_l3_process(st, cr))) {
proc->para.cause = 0x65; /* 101 */
proc->st->l3.l3l4(proc, CC_ESTABLISH, NULL);
@ -1555,14 +1558,14 @@ dss1up(struct PStack *st, int pr, void *arg)
return;
}
} else if (mt == MT_RELEASE_COMPLETE){
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
return;
} else {
/* ETS 300-104 part 2
* if setup has not been made and a message type
* (except MT_SETUP and RELEASE_COMPLETE) is received,
* we must send MT_RELEASE_COMPLETE cause 81 */
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if ((proc = new_l3_process(st, cr))) {
proc->para.cause = 0x51; /* 81 */
proc->st->l3.l3l4(proc, CC_ESTABLISH, NULL);
@ -1583,7 +1586,7 @@ dss1up(struct PStack *st, int pr, void *arg)
((1 << proc->state) & datastatelist[i].state))
break;
if (i == datasllen) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
if (st->l3.debug & L3_DEB_STATE) {
sprintf(tmp, "dss1up%sstate %d mt %x unhandled",
(pr == DL_DATA) ? " " : "(broadcast) ",

View File

@ -8,6 +8,9 @@
*
*
* $Log$
* Revision 1.2 1998/02/02 13:32:06 keil
* New
*
*
*
*/
@ -540,7 +543,7 @@ static void fill_dma(struct BCState *bcs)
if (test_and_clear_bit(BC_FLG_NOFRAME, &bcs->Flag)) {
write_raw(bcs, bcs->hw.tiger.sendp, bcs->hw.tiger.free);
} else if (test_and_clear_bit(BC_FLG_HALF, &bcs->Flag)) {
p = (u_int *) inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR);
p = bus_to_virt(inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR));
sp = bcs->hw.tiger.sendp;
if (p == bcs->hw.tiger.s_end)
p = bcs->hw.tiger.send -1;
@ -561,7 +564,7 @@ static void fill_dma(struct BCState *bcs)
write_raw(bcs, p, bcs->hw.tiger.free - cnt);
}
} else if (test_and_clear_bit(BC_FLG_EMPTY, &bcs->Flag)) {
p = (u_int *) inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR);
p = bus_to_virt(inl(bcs->cs->hw.njet.base + NETJET_DMA_READ_ADR));
cnt = bcs->hw.tiger.s_end - p;
if (cnt < 2) {
p = bcs->hw.tiger.send + 1;
@ -622,11 +625,16 @@ static void write_raw(struct BCState *bcs, u_int *buf, int cnt) {
bcs->hw.tiger.sp += s_cnt;
bcs->hw.tiger.sendp = p;
if (!bcs->hw.tiger.sendcnt) {
if (bcs->st->lli.l1writewakeup &&
(PACKET_NOACK != bcs->hw.tiger.tx_skb->pkt_type))
bcs->st->lli.l1writewakeup(bcs->st, bcs->hw.tiger.tx_skb->len);
dev_kfree_skb(bcs->hw.tiger.tx_skb, FREE_WRITE);
bcs->hw.tiger.tx_skb = NULL;
if (!bcs->hw.tiger.tx_skb) {
sprintf(tmp,"tiger write_raw: NULL skb s_cnt %d", s_cnt);
debugl1(bcs->cs, tmp);
} else {
if (bcs->st->lli.l1writewakeup &&
(PACKET_NOACK != bcs->hw.tiger.tx_skb->pkt_type))
bcs->st->lli.l1writewakeup(bcs->st, bcs->hw.tiger.tx_skb->len);
dev_kfree_skb(bcs->hw.tiger.tx_skb);
bcs->hw.tiger.tx_skb = NULL;
}
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
bcs->hw.tiger.free = cnt - s_cnt;
if (bcs->hw.tiger.free > (NETJET_DMA_SIZE/2))
@ -744,13 +752,13 @@ close_tigerstate(struct BCState *bcs)
bcs->hw.tiger.sendbuf = NULL;
}
while ((skb = skb_dequeue(&bcs->rqueue))) {
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
while ((skb = skb_dequeue(&bcs->squeue))) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
}
if (bcs->hw.tiger.tx_skb) {
dev_kfree_skb(bcs->hw.tiger.tx_skb, FREE_WRITE);
dev_kfree_skb(bcs->hw.tiger.tx_skb);
bcs->hw.tiger.tx_skb = NULL;
test_and_clear_bit(BC_FLG_BUSY, &bcs->Flag);
}
@ -763,12 +771,12 @@ open_tigerstate(struct IsdnCardState *cs, int bc)
struct BCState *bcs = cs->bcs + bc;
if (!test_and_set_bit(BC_FLG_INIT, &bcs->Flag)) {
if (!(bcs->hw.tiger.rcvbuf = kmalloc(HSCX_BUFMAX, GFP_ATOMIC))) {
if (!(bcs->hw.tiger.rcvbuf = kmalloc(HSCX_BUFMAX, GFP_KERNEL))) {
printk(KERN_WARNING
"HiSax: No memory for tiger.rcvbuf\n");
return (1);
}
if (!(bcs->hw.tiger.sendbuf = kmalloc(RAW_BUFMAX, GFP_ATOMIC))) {
if (!(bcs->hw.tiger.sendbuf = kmalloc(RAW_BUFMAX, GFP_KERNEL))) {
printk(KERN_WARNING
"HiSax: No memory for tiger.sendbuf\n");
return (1);
@ -822,7 +830,7 @@ inittiger(struct IsdnCardState *cs))
char tmp[128];
if (!(cs->bcs[0].hw.tiger.send = kmalloc(NETJET_DMA_SIZE * sizeof(unsigned int),
GFP_ATOMIC | GFP_DMA))) {
GFP_KERNEL | GFP_DMA))) {
printk(KERN_WARNING
"HiSax: No memory for tiger.send\n");
return;
@ -837,14 +845,14 @@ inittiger(struct IsdnCardState *cs))
sprintf(tmp, "tiger: send buf %x - %x", (u_int)cs->bcs[0].hw.tiger.send,
(u_int)(cs->bcs[0].hw.tiger.send + NETJET_DMA_SIZE - 1));
debugl1(cs, tmp);
outl((u_int)cs->bcs[0].hw.tiger.send,
outl(virt_to_bus(cs->bcs[0].hw.tiger.send),
cs->hw.njet.base + NETJET_DMA_READ_START);
outl((u_int)(cs->bcs[0].hw.tiger.s_irq),
outl(virt_to_bus(cs->bcs[0].hw.tiger.s_irq),
cs->hw.njet.base + NETJET_DMA_READ_IRQ);
outl((u_int)(cs->bcs[0].hw.tiger.s_end),
outl(virt_to_bus(cs->bcs[0].hw.tiger.s_end),
cs->hw.njet.base + NETJET_DMA_READ_END);
if (!(cs->bcs[0].hw.tiger.rec = kmalloc(NETJET_DMA_SIZE * sizeof(unsigned int),
GFP_ATOMIC | GFP_DMA))) {
GFP_KERNEL | GFP_DMA))) {
printk(KERN_WARNING
"HiSax: No memory for tiger.rec\n");
return;
@ -854,11 +862,11 @@ inittiger(struct IsdnCardState *cs))
debugl1(cs, tmp);
cs->bcs[1].hw.tiger.rec = cs->bcs[0].hw.tiger.rec;
memset(cs->bcs[0].hw.tiger.rec, 0xff, NETJET_DMA_SIZE * sizeof(unsigned int));
outl((u_int)cs->bcs[0].hw.tiger.rec,
outl(virt_to_bus(cs->bcs[0].hw.tiger.rec),
cs->hw.njet.base + NETJET_DMA_WRITE_START);
outl((u_int)(cs->bcs[0].hw.tiger.rec + NETJET_DMA_SIZE/2 - 1),
outl(virt_to_bus(cs->bcs[0].hw.tiger.rec + NETJET_DMA_SIZE/2 - 1),
cs->hw.njet.base + NETJET_DMA_WRITE_IRQ);
outl((u_int)(cs->bcs[0].hw.tiger.rec + NETJET_DMA_SIZE - 1),
outl(virt_to_bus(cs->bcs[0].hw.tiger.rec + NETJET_DMA_SIZE - 1),
cs->hw.njet.base + NETJET_DMA_WRITE_END);
sprintf(tmp, "tiger: dmacfg %x/%x pulse=%d",
inl(cs->hw.njet.base + NETJET_DMA_WRITE_ADR),

View File

@ -7,6 +7,9 @@
* Fritz Elfert
*
* $Log$
* Revision 2.6 1998/02/02 13:41:42 keil
* fix MDL_ASSIGN for PtP
*
* Revision 2.5 1997/11/06 17:09:12 keil
* New 2.1 init code
*
@ -378,7 +381,7 @@ tei_l1l2(struct PStack *st, int pr, void *arg)
sprintf(tmp, "tei handler wrong pr %x\n", pr);
st->ma.tei_m.printdebug(&st->ma.tei_m, tmp);
}
dev_kfree_skb(skb, FREE_READ);
dev_kfree_skb(skb);
}
static void

View File

@ -730,7 +730,7 @@ void pcbit_l3_receive(struct pcbit_dev * dev, ulong msg,
#endif
}
kfree_skb(skb, FREE_READ);
kfree_skb(skb);
}

View File

@ -106,13 +106,13 @@ pcbit_l2_write(struct pcbit_dev *dev, ulong msg, ushort refnum,
unsigned long flags;
if (dev->l2_state != L2_RUNNING && dev->l2_state != L2_LOADING) {
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
return -1;
}
if ((frame = (struct frame_buf *) kmalloc(sizeof(struct frame_buf),
GFP_ATOMIC)) == NULL) {
printk(KERN_WARNING "pcbit_2_write: kmalloc failed\n");
dev_kfree_skb(skb, FREE_WRITE);
dev_kfree_skb(skb);
return -1;
}
frame->msg = msg;
@ -287,7 +287,7 @@ pcbit_transmit(struct pcbit_dev *dev)
if (frame->skb != NULL) {
/* free frame */
dev_kfree_skb(frame->skb, FREE_WRITE);
dev_kfree_skb(frame->skb);
}
kfree(frame);
}
@ -381,7 +381,7 @@ pcbit_receive(struct pcbit_dev *dev)
#else
/* discard previous queued frame */
if (dev->read_frame->skb)
kfree_skb(dev->read_frame->skb, FREE_READ);
kfree_skb(dev->read_frame->skb);
kfree(dev->read_frame);
dev->read_frame = NULL;
#endif
@ -647,7 +647,7 @@ pcbit_l2_err_recover(unsigned long data)
if (dev->read_frame) {
if (dev->read_frame->skb)
kfree_skb(dev->read_frame->skb, FREE_READ);
kfree_skb(dev->read_frame->skb);
kfree(dev->read_frame);
dev->read_frame = NULL;
}
@ -657,7 +657,7 @@ pcbit_l2_err_recover(unsigned long data)
dev->write_queue = dev->write_queue->next;
if (frame->skb) {
dev_kfree_skb(frame->skb, FREE_WRITE);
dev_kfree_skb(frame->skb);
}
kfree(frame);
#else

View File

@ -102,7 +102,7 @@ int sndpkt(int devId, int channel, struct sk_buff *data)
adapter[card]->channel[channel].num_sendbufs ? 0 :
adapter[card]->channel[channel].next_sendbuf;
pr_debug("%s: Packet sent successfully\n", adapter[card]->devicename);
dev_kfree_skb(data, FREE_WRITE);
dev_kfree_skb(data);
indicate_status(card,ISDN_STAT_BSENT,channel, (char *)&len);
}
return len;