Эх сурвалжийг харах

bluetooth: 6lowpan: fix NOHZ: local_softirq_pending

Jukka reported about the following warning:

"NOHZ: local_softirq_pending 08"

I remember this warning and we had a similar issue when using workqueues
and calling netif_rx. See commit 5ff3fec ("mac802154: fix NOHZ
local_softirq_pending 08 warning").

This warning occurs when calling "netif_rx" inside the wrong context
(non softirq context). The net core api offers "netif_rx_ni" to call
netif_rx inside the correct softirq context.

Reported-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Alexander Aring <alex.aring@gmail.com>
Acked-by: Jukka Rissanen <jukka.rissanen@linux.intel.com>
Signed-off-by: Marcel Holtmann <marcel@holtmann.org>
Alexander Aring 9 жил өмнө
parent
commit
324e786ee3

+ 1 - 1
net/bluetooth/6lowpan.c

@@ -263,7 +263,7 @@ static int give_skb_to_upper(struct sk_buff *skb, struct net_device *dev)
 	if (!skb_cp)
 	if (!skb_cp)
 		return NET_RX_DROP;
 		return NET_RX_DROP;
 
 
-	return netif_rx(skb_cp);
+	return netif_rx_ni(skb_cp);
 }
 }
 
 
 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,
 static int iphc_decompress(struct sk_buff *skb, struct net_device *netdev,