From: Baruch Siach <baruch@tkos.co.il>
Date: Mon, 15 Dec 2008 20:18:52 +0000 (+0000)
Subject: enc28j60: use netif_rx_ni() to deliver RX packets
X-Git-Url: https://git.stricted.de/?a=commitdiff_plain;h=2c413a6434dca02387a263dc4ca8009692421998;p=GitHub%2FLineageOS%2Fandroid_kernel_samsung_universal7580.git

enc28j60: use netif_rx_ni() to deliver RX packets

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>
Signed-off-by: David S. Miller <davem@davemloft.net>
---

diff --git a/drivers/net/enc28j60.c b/drivers/net/enc28j60.c
index c414554ac32..36cb6e95b46 100644
--- a/drivers/net/enc28j60.c
+++ b/drivers/net/enc28j60.c
@@ -959,7 +959,7 @@ static void enc28j60_hw_rx(struct net_device *ndev)
 			ndev->stats.rx_packets++;
 			ndev->stats.rx_bytes += len;
 			ndev->last_rx = jiffies;
-			netif_rx(skb);
+			netif_rx_ni(skb);
 		}
 	}
 	/*