瀏覽代碼

SMC911X: Fix using of dereferenced skb after netif_rx

Signed-off-by: Wang Chen <wangchen@cn.fujitsu.com>
Signed-off-by: Jeff Garzik <jeff@garzik.org>
Wang Chen 17 年之前
父節點
當前提交
d30f53aeb3
共有 1 個文件被更改,包括 1 次插入1 次删除
  1. 1 1
      drivers/net/smc911x.c

+ 1 - 1
drivers/net/smc911x.c

@@ -1299,9 +1299,9 @@ smc911x_rx_dma_irq(int dma, void *data)
 	PRINT_PKT(skb->data, skb->len);
 	PRINT_PKT(skb->data, skb->len);
 	dev->last_rx = jiffies;
 	dev->last_rx = jiffies;
 	skb->protocol = eth_type_trans(skb, dev);
 	skb->protocol = eth_type_trans(skb, dev);
-	netif_rx(skb);
 	dev->stats.rx_packets++;
 	dev->stats.rx_packets++;
 	dev->stats.rx_bytes += skb->len;
 	dev->stats.rx_bytes += skb->len;
+	netif_rx(skb);
 
 
 	spin_lock_irqsave(&lp->lock, flags);
 	spin_lock_irqsave(&lp->lock, flags);
 	pkts = (SMC_GET_RX_FIFO_INF() & RX_FIFO_INF_RXSUSED_) >> 16;
 	pkts = (SMC_GET_RX_FIFO_INF() & RX_FIFO_INF_RXSUSED_) >> 16;