Commit 8e84c801 authored by Frank Pavlic's avatar Frank Pavlic Committed by Jeff Garzik

[PATCH] s390: claw driver fixes

[patch 1/4] s390: claw driver fixes

From: Andy Richter <richtera@us.ibm.com>
	- change memory allocation and move dbf from proc to debugfs
	- use dev_kfree_skb_any instead of dev_kfree_skb_irq
Signed-off-by: default avatarFrank Pavlic <pavlic@de.ibm.com>

diffstat:
 claw.c |   20 ++++++++++----------
 1 files changed, 10 insertions(+), 10 deletions(-)
Signed-off-by: default avatarJeff Garzik <jgarzik@pobox.com>
parent 776bd20f
...@@ -2,9 +2,9 @@ ...@@ -2,9 +2,9 @@
* drivers/s390/net/claw.c * drivers/s390/net/claw.c
* ESCON CLAW network driver * ESCON CLAW network driver
* *
* $Revision: 1.35 $ $Date: 2005/03/24 12:25:38 $ * $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $
* *
* Linux fo zSeries version * Linux for zSeries version
* Copyright (C) 2002,2005 IBM Corporation * Copyright (C) 2002,2005 IBM Corporation
* Author(s) Original code written by: * Author(s) Original code written by:
* Kazuo Iimura (iimura@jp.ibm.com) * Kazuo Iimura (iimura@jp.ibm.com)
...@@ -431,12 +431,12 @@ claw_pack_skb(struct claw_privbk *privptr) ...@@ -431,12 +431,12 @@ claw_pack_skb(struct claw_privbk *privptr)
if (!skb_queue_empty(&p_ch->collect_queue)) { if (!skb_queue_empty(&p_ch->collect_queue)) {
/* some data */ /* some data */
held_skb = skb_dequeue(&p_ch->collect_queue); held_skb = skb_dequeue(&p_ch->collect_queue);
if (p_env->packing != DO_PACKED)
return held_skb;
if (held_skb) if (held_skb)
atomic_dec(&held_skb->users); dev_kfree_skb_any(held_skb);
else else
return NULL; return NULL;
if (p_env->packing != DO_PACKED)
return held_skb;
/* get a new SKB we will pack at least one */ /* get a new SKB we will pack at least one */
new_skb = dev_alloc_skb(p_env->write_size); new_skb = dev_alloc_skb(p_env->write_size);
if (new_skb == NULL) { if (new_skb == NULL) {
...@@ -455,7 +455,7 @@ claw_pack_skb(struct claw_privbk *privptr) ...@@ -455,7 +455,7 @@ claw_pack_skb(struct claw_privbk *privptr)
privptr->stats.tx_packets++; privptr->stats.tx_packets++;
so_far += held_skb->len; so_far += held_skb->len;
pkt_cnt++; pkt_cnt++;
dev_kfree_skb_irq(held_skb); dev_kfree_skb_any(held_skb);
held_skb = skb_dequeue(&p_ch->collect_queue); held_skb = skb_dequeue(&p_ch->collect_queue);
if (held_skb) if (held_skb)
atomic_dec(&held_skb->users); atomic_dec(&held_skb->users);
...@@ -1092,7 +1092,7 @@ claw_release(struct net_device *dev) ...@@ -1092,7 +1092,7 @@ claw_release(struct net_device *dev)
} }
} }
if (privptr->pk_skb != NULL) { if (privptr->pk_skb != NULL) {
dev_kfree_skb(privptr->pk_skb); dev_kfree_skb_any(privptr->pk_skb);
privptr->pk_skb = NULL; privptr->pk_skb = NULL;
} }
if(privptr->buffs_alloc != 1) { if(privptr->buffs_alloc != 1) {
...@@ -2016,7 +2016,7 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid) ...@@ -2016,7 +2016,7 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid)
p_buf=(struct ccwbk*)privptr->p_end_ccw; p_buf=(struct ccwbk*)privptr->p_end_ccw;
dumpit((char *)p_buf, sizeof(struct endccw)); dumpit((char *)p_buf, sizeof(struct endccw));
#endif #endif
dev_kfree_skb(skb); dev_kfree_skb_any(skb);
if (linkid==0) { if (linkid==0) {
lock=LOCK_NO; lock=LOCK_NO;
} }
...@@ -4061,7 +4061,7 @@ claw_purge_skb_queue(struct sk_buff_head *q) ...@@ -4061,7 +4061,7 @@ claw_purge_skb_queue(struct sk_buff_head *q)
while ((skb = skb_dequeue(q))) { while ((skb = skb_dequeue(q))) {
atomic_dec(&skb->users); atomic_dec(&skb->users);
dev_kfree_skb_irq(skb); dev_kfree_skb_any(skb);
} }
} }
...@@ -4410,7 +4410,7 @@ claw_init(void) ...@@ -4410,7 +4410,7 @@ claw_init(void)
#else #else
"compiled into kernel " "compiled into kernel "
#endif #endif
" $Revision: 1.35 $ $Date: 2005/03/24 12:25:38 $ \n"); " $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $ \n");
#ifdef FUNCTRACE #ifdef FUNCTRACE
......
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