diff options
author | Jorge Boncompte [DTI2] <jorge@dti2.net> | 2011-11-21 05:25:54 -0500 |
---|---|---|
committer | David S. Miller <davem@davemloft.net> | 2011-11-22 16:15:22 -0500 |
commit | fe685b80469996149ca28c74062f72b5879c1607 (patch) | |
tree | 7885ea4abcda7a2cc64274a51a72ba61e2c81487 /net/atm/br2684.c | |
parent | e348c5e7de4a759a94eed4d0303ba81a4939f8b9 (diff) |
atm: br2684: Do not move counters backwards
This snippet has caused several bugs in the past, and I don't see the
point on substracting the skb len from netdev stats.
Signed-off-by: Jorge Boncompte [DTI2] <jorge@dti2.net>
Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/atm/br2684.c')
-rw-r--r-- | net/atm/br2684.c | 9 |
1 files changed, 1 insertions, 8 deletions
diff --git a/net/atm/br2684.c b/net/atm/br2684.c index d07223c834af..81cf33b1527d 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c | |||
@@ -557,15 +557,8 @@ static int br2684_regvcc(struct atm_vcc *atmvcc, void __user * arg) | |||
557 | skb_queue_splice_init(rq, &queue); | 557 | skb_queue_splice_init(rq, &queue); |
558 | spin_unlock_irqrestore(&rq->lock, flags); | 558 | spin_unlock_irqrestore(&rq->lock, flags); |
559 | 559 | ||
560 | skb_queue_walk_safe(&queue, skb, tmp) { | 560 | skb_queue_walk_safe(&queue, skb, tmp) |
561 | struct net_device *dev; | ||
562 | |||
563 | br2684_push(atmvcc, skb); | 561 | br2684_push(atmvcc, skb); |
564 | dev = skb->dev; | ||
565 | |||
566 | dev->stats.rx_bytes -= skb->len; | ||
567 | dev->stats.rx_packets--; | ||
568 | } | ||
569 | 562 | ||
570 | /* initialize netdev carrier state */ | 563 | /* initialize netdev carrier state */ |
571 | if (atmvcc->dev->signal == ATM_PHY_SIG_LOST) | 564 | if (atmvcc->dev->signal == ATM_PHY_SIG_LOST) |