diff options
author | Ursula Braun <ursula.braun@de.ibm.com> | 2009-11-12 16:46:30 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2009-11-13 23:47:01 -0500 |
commit | 998221c26b86a7edd621e66b437628c5ec0f8e9b (patch) | |
tree | fbb691086872704bfe18126840a71b049cc46901 /drivers/s390 | |
parent | 0ca8cc6fe7e1acd42a8a3741473ad7540f13893a (diff) |
netiucv: displayed TX bytes value much too high
tx_bytes value must be updated by skb length before skb is freed.
Signed-off-by: Ursula Braun <ursula.braun@de.ibm.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'drivers/s390')
-rw-r--r-- | drivers/s390/net/netiucv.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/s390/net/netiucv.c b/drivers/s390/net/netiucv.c index c84eadd3602a..395c04c2b00f 100644 --- a/drivers/s390/net/netiucv.c +++ b/drivers/s390/net/netiucv.c | |||
@@ -741,13 +741,13 @@ static void conn_action_txdone(fsm_instance *fi, int event, void *arg) | |||
741 | if (single_flag) { | 741 | if (single_flag) { |
742 | if ((skb = skb_dequeue(&conn->commit_queue))) { | 742 | if ((skb = skb_dequeue(&conn->commit_queue))) { |
743 | atomic_dec(&skb->users); | 743 | atomic_dec(&skb->users); |
744 | dev_kfree_skb_any(skb); | ||
745 | if (privptr) { | 744 | if (privptr) { |
746 | privptr->stats.tx_packets++; | 745 | privptr->stats.tx_packets++; |
747 | privptr->stats.tx_bytes += | 746 | privptr->stats.tx_bytes += |
748 | (skb->len - NETIUCV_HDRLEN | 747 | (skb->len - NETIUCV_HDRLEN |
749 | - NETIUCV_HDRLEN); | 748 | - NETIUCV_HDRLEN); |
750 | } | 749 | } |
750 | dev_kfree_skb_any(skb); | ||
751 | } | 751 | } |
752 | } | 752 | } |
753 | conn->tx_buff->data = conn->tx_buff->head; | 753 | conn->tx_buff->data = conn->tx_buff->head; |