Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 91e83133 authored by Eric Dumazet's avatar Eric Dumazet Committed by David S. Miller
Browse files

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: default avatarEric Dumazet <edumazet@google.com>
Signed-off-by: default avatarDavid S. Miller <davem@davemloft.net>
parent 364d5716
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -7064,11 +7064,11 @@ static int dev_cpu_callback(struct notifier_block *nfb,


	/* Process offline CPU's input_pkt_queue */
	/* Process offline CPU's input_pkt_queue */
	while ((skb = __skb_dequeue(&oldsd->process_queue))) {
	while ((skb = __skb_dequeue(&oldsd->process_queue))) {
		netif_rx_internal(skb);
		netif_rx_ni(skb);
		input_queue_head_incr(oldsd);
		input_queue_head_incr(oldsd);
	}
	}
	while ((skb = skb_dequeue(&oldsd->input_pkt_queue))) {
	while ((skb = skb_dequeue(&oldsd->input_pkt_queue))) {
		netif_rx_internal(skb);
		netif_rx_ni(skb);
		input_queue_head_incr(oldsd);
		input_queue_head_incr(oldsd);
	}
	}