Patchwork enc28j60: use netif_rx_ni() to deliver RX packets

login
register
mail settings
Submitter Baruch Siach
Date Dec. 16, 2008, 6:18 a.m.
Message ID <20081216061851.GA4773@diamond.tkos.co.il>
Download mbox | patch
Permalink /patch/14176/
State Accepted
Delegated to: David Miller
Headers show

Comments

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 
serviced.

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

Patch

--- 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_packets++;
 			ndev->stats.rx_bytes += len;
 			ndev->last_rx = jiffies;
-			netif_rx(skb);
+			netif_rx_ni(skb);
 		}
 	}
 	/*