From 20e277459eebd1be7fe2eebd894fff7a778cd14b Mon Sep 17 00:00:00 2001 From: Wenping Zhang Date: Fri, 20 Sep 2024 11:25:47 +0800 Subject: [PATCH] net: wireless: rockchip_wlan: Add missing BH locking around __napi_schdule() The following errors are seen when wifi is running: NOHZ tick-stop error: Non-RCU local softirq work is pending, handler #08!!! Fix this problem by adding the BH locking around __napi_schedule, in the same way it was done in commit e63052a5dd3c ("mlx5e: add add missing BH locking around napi_schdule()"). Change-Id: I25544b52460639ba95d3cbdd9644ab95f01a2654 Signed-off-by: Wenping Zhang --- drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.c b/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.c index 0104fab9ce5b..55a44cbe97fc 100755 --- a/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.c +++ b/drivers/net/wireless/rockchip_wlan/rkwifi/bcmdhd/dhd_linux_lb.c @@ -1131,6 +1131,7 @@ dhd_napi_schedule(void *info) DHD_GENERAL_UNLOCK(&dhd->pub, flags); #endif /* OEM_ANDROID */ + local_bh_disable(); /* add napi_struct to softnet data poll list and raise NET_RX_SOFTIRQ */ if (napi_schedule_prep(&dhd->rx_napi_struct)) { @@ -1151,6 +1152,7 @@ dhd_napi_schedule(void *info) raise_softirq(NET_RX_SOFTIRQ); #endif /* WAKEUP_KSOFTIRQD_POST_NAPI_SCHEDULE */ } + local_bh_enable(); /* * If the rx_napi_struct was already running, then we let it complete