summaryrefslogtreecommitdiffstats
path: root/net/core
diff options
context:
space:
mode:
authorEric Dumazet <edumazet@google.com>2015-02-05 14:58:14 -0800
committerDavid S. Miller <davem@davemloft.net>2015-02-07 22:43:52 -0800
commit91e83133e70ebe1572746d1ad858b4eb28ab9b53 (patch)
tree686afc903f349584ed97d89d407cc9ad92c5aca9 /net/core
parent364d5716a7adb91b731a35765d369602d68d2881 (diff)
downloadlinux-stable-91e83133e70ebe1572746d1ad858b4eb28ab9b53.tar.gz
linux-stable-91e83133e70ebe1572746d1ad858b4eb28ab9b53.tar.bz2
linux-stable-91e83133e70ebe1572746d1ad858b4eb28ab9b53.zip
net: use netif_rx_ni() from process context
Hotpluging a cpu might be rare, yet we have to use proper handlers when taking over packets found in backlog queues. dev_cpu_callback() runs from process context, thus we should call netif_rx_ni() to properly invoke softirq handler. Signed-off-by: Eric Dumazet <edumazet@google.com> Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/core')
-rw-r--r--net/core/dev.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/net/core/dev.c b/net/core/dev.c
index 7fe82929f509..6c1556aeec29 100644
--- a/net/core/dev.c
+++ b/net/core/dev.c
@@ -7064,11 +7064,11 @@ static int dev_cpu_callback(struct notifier_block *nfb,
/* Process offline CPU's input_pkt_queue */
while ((skb = __skb_dequeue(&oldsd->process_queue))) {
- netif_rx_internal(skb);
+ netif_rx_ni(skb);
input_queue_head_incr(oldsd);
}
while ((skb = skb_dequeue(&oldsd->input_pkt_queue))) {
- netif_rx_internal(skb);
+ netif_rx_ni(skb);
input_queue_head_incr(oldsd);
}