diff options
-rw-r--r-- | net/atm/br2684.c | 7 |
1 files changed, 4 insertions, 3 deletions
diff --git a/net/atm/br2684.c b/net/atm/br2684.c index be1c1d2cffd..475b2bf422b 100644 --- a/net/atm/br2684.c +++ b/net/atm/br2684.c @@ -530,12 +530,13 @@ static int br2684_regvcc(struct atm_vcc *atmvcc, void __user * arg) spin_unlock_irqrestore(&rq->lock, flags); skb_queue_walk_safe(&queue, skb, tmp) { - struct net_device *dev = skb->dev; + struct net_device *dev; + + br2684_push(atmvcc, skb); + dev = skb->dev; dev->stats.rx_bytes -= skb->len; dev->stats.rx_packets--; - - br2684_push(atmvcc, skb); } __module_get(THIS_MODULE); return 0; |