enc28j60: use netif_rx_ni() to deliver RX packets

Message ID 20081216061851.GA4773@diamond.tkos.co.il
State Accepted, archived
Delegated to: David Miller
Headers show

Commit Message

Baruch Siach Dec. 16, 2008, 6:18 a.m.
The enc28j60 driver reads incoming packets in the process (workqueue) context, 
not in a tasklet or the interrupt context.  Thus, we should use netif_rx_ni() 
to deliver those packets to the networking layer, instead of netif_rx(). This 
way incoming packets don't wait in the incoming queue for the next IRQ to be 

Signed-off-by: Baruch Siach <baruch@tkos.co.il>


--- drivers/net/enc28j60.c-git	2008-12-16 08:06:53.000000000 +0200
+++ drivers/net/enc28j60.c	2008-12-16 08:08:32.000000000 +0200
@@ -959,7 +959,7 @@  static void enc28j60_hw_rx(struct net_de
 			ndev->stats.rx_bytes += len;
 			ndev->last_rx = jiffies;
-			netif_rx(skb);
+			netif_rx_ni(skb);