diff options
-rw-r--r-- | drivers/s390/net/claw.c | 20 |
1 files changed, 10 insertions, 10 deletions
diff --git a/drivers/s390/net/claw.c b/drivers/s390/net/claw.c index 24c0af49c25c..3092473991a7 100644 --- a/drivers/s390/net/claw.c +++ b/drivers/s390/net/claw.c | |||
@@ -2,9 +2,9 @@ | |||
2 | * drivers/s390/net/claw.c | 2 | * drivers/s390/net/claw.c |
3 | * ESCON CLAW network driver | 3 | * ESCON CLAW network driver |
4 | * | 4 | * |
5 | * $Revision: 1.35 $ $Date: 2005/03/24 12:25:38 $ | 5 | * $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $ |
6 | * | 6 | * |
7 | * Linux fo zSeries version | 7 | * Linux for zSeries version |
8 | * Copyright (C) 2002,2005 IBM Corporation | 8 | * Copyright (C) 2002,2005 IBM Corporation |
9 | * Author(s) Original code written by: | 9 | * Author(s) Original code written by: |
10 | * Kazuo Iimura (iimura@jp.ibm.com) | 10 | * Kazuo Iimura (iimura@jp.ibm.com) |
@@ -431,12 +431,12 @@ claw_pack_skb(struct claw_privbk *privptr) | |||
431 | if (!skb_queue_empty(&p_ch->collect_queue)) { | 431 | if (!skb_queue_empty(&p_ch->collect_queue)) { |
432 | /* some data */ | 432 | /* some data */ |
433 | held_skb = skb_dequeue(&p_ch->collect_queue); | 433 | held_skb = skb_dequeue(&p_ch->collect_queue); |
434 | if (p_env->packing != DO_PACKED) | ||
435 | return held_skb; | ||
436 | if (held_skb) | 434 | if (held_skb) |
437 | atomic_dec(&held_skb->users); | 435 | dev_kfree_skb_any(held_skb); |
438 | else | 436 | else |
439 | return NULL; | 437 | return NULL; |
438 | if (p_env->packing != DO_PACKED) | ||
439 | return held_skb; | ||
440 | /* get a new SKB we will pack at least one */ | 440 | /* get a new SKB we will pack at least one */ |
441 | new_skb = dev_alloc_skb(p_env->write_size); | 441 | new_skb = dev_alloc_skb(p_env->write_size); |
442 | if (new_skb == NULL) { | 442 | if (new_skb == NULL) { |
@@ -455,7 +455,7 @@ claw_pack_skb(struct claw_privbk *privptr) | |||
455 | privptr->stats.tx_packets++; | 455 | privptr->stats.tx_packets++; |
456 | so_far += held_skb->len; | 456 | so_far += held_skb->len; |
457 | pkt_cnt++; | 457 | pkt_cnt++; |
458 | dev_kfree_skb_irq(held_skb); | 458 | dev_kfree_skb_any(held_skb); |
459 | held_skb = skb_dequeue(&p_ch->collect_queue); | 459 | held_skb = skb_dequeue(&p_ch->collect_queue); |
460 | if (held_skb) | 460 | if (held_skb) |
461 | atomic_dec(&held_skb->users); | 461 | atomic_dec(&held_skb->users); |
@@ -1092,7 +1092,7 @@ claw_release(struct net_device *dev) | |||
1092 | } | 1092 | } |
1093 | } | 1093 | } |
1094 | if (privptr->pk_skb != NULL) { | 1094 | if (privptr->pk_skb != NULL) { |
1095 | dev_kfree_skb(privptr->pk_skb); | 1095 | dev_kfree_skb_any(privptr->pk_skb); |
1096 | privptr->pk_skb = NULL; | 1096 | privptr->pk_skb = NULL; |
1097 | } | 1097 | } |
1098 | if(privptr->buffs_alloc != 1) { | 1098 | if(privptr->buffs_alloc != 1) { |
@@ -2016,7 +2016,7 @@ claw_hw_tx(struct sk_buff *skb, struct net_device *dev, long linkid) | |||
2016 | p_buf=(struct ccwbk*)privptr->p_end_ccw; | 2016 | p_buf=(struct ccwbk*)privptr->p_end_ccw; |
2017 | dumpit((char *)p_buf, sizeof(struct endccw)); | 2017 | dumpit((char *)p_buf, sizeof(struct endccw)); |
2018 | #endif | 2018 | #endif |
2019 | dev_kfree_skb(skb); | 2019 | dev_kfree_skb_any(skb); |
2020 | if (linkid==0) { | 2020 | if (linkid==0) { |
2021 | lock=LOCK_NO; | 2021 | lock=LOCK_NO; |
2022 | } | 2022 | } |
@@ -4061,7 +4061,7 @@ claw_purge_skb_queue(struct sk_buff_head *q) | |||
4061 | 4061 | ||
4062 | while ((skb = skb_dequeue(q))) { | 4062 | while ((skb = skb_dequeue(q))) { |
4063 | atomic_dec(&skb->users); | 4063 | atomic_dec(&skb->users); |
4064 | dev_kfree_skb_irq(skb); | 4064 | dev_kfree_skb_any(skb); |
4065 | } | 4065 | } |
4066 | } | 4066 | } |
4067 | 4067 | ||
@@ -4410,7 +4410,7 @@ claw_init(void) | |||
4410 | #else | 4410 | #else |
4411 | "compiled into kernel " | 4411 | "compiled into kernel " |
4412 | #endif | 4412 | #endif |
4413 | " $Revision: 1.35 $ $Date: 2005/03/24 12:25:38 $ \n"); | 4413 | " $Revision: 1.38 $ $Date: 2005/08/29 09:47:04 $ \n"); |
4414 | 4414 | ||
4415 | 4415 | ||
4416 | #ifdef FUNCTRACE | 4416 | #ifdef FUNCTRACE |