30 lines
1.0 KiB
Diff
30 lines
1.0 KiB
Diff
From: Jussi Kivilinna <jussi.kivilinna@haltian.com>
|
|
Date: Tue, 18 Aug 2020 17:46:10 +0300
|
|
Subject: batman-adv: bla: use netif_rx_ni when not in interrupt context
|
|
|
|
batadv_bla_send_claim() gets called from worker thread context through
|
|
batadv_bla_periodic_work(), thus netif_rx_ni needs to be used in that
|
|
case. This fixes "NOHZ: local_softirq_pending 08" log messages seen
|
|
when batman-adv is enabled.
|
|
|
|
Fixes: a9ce0dc43e2c ("batman-adv: add basic bridge loop avoidance code")
|
|
Signed-off-by: Jussi Kivilinna <jussi.kivilinna@haltian.com>
|
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
|
|
|
Origin: upstream, https://git.open-mesh.org/batman-adv.git/commit/3747f81a1380b65740fc52fc71c7a3af4c6e49de
|
|
|
|
--- a/net/batman-adv/bridge_loop_avoidance.c
|
|
+++ b/net/batman-adv/bridge_loop_avoidance.c
|
|
@@ -437,7 +437,10 @@ static void batadv_bla_send_claim(struct
|
|
batadv_add_counter(bat_priv, BATADV_CNT_RX_BYTES,
|
|
skb->len + ETH_HLEN);
|
|
|
|
- netif_rx(skb);
|
|
+ if (in_interrupt())
|
|
+ netif_rx(skb);
|
|
+ else
|
|
+ netif_rx_ni(skb);
|
|
out:
|
|
if (primary_if)
|
|
batadv_hardif_put(primary_if);
|