net: lan78xx: fix "softirq work is pending" error
authorOleksij Rempel <o.rempel@pengutronix.de>
Mon, 26 Feb 2024 11:08:20 +0000 (12:08 +0100)
committerJakub Kicinski <kuba@kernel.org>
Wed, 28 Feb 2024 02:21:51 +0000 (18:21 -0800)
Disable BH around the call to napi_schedule() to avoid following
error:
NOHZ tick-stop error: local softirq work is pending, handler #08!!!

Fixes: ec4c7e12396b ("lan78xx: Introduce NAPI polling support")
Signed-off-by: Oleksij Rempel <o.rempel@pengutronix.de>
Link: https://lore.kernel.org/r/20240226110820.2113584-1-o.rempel@pengutronix.de
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/lan78xx.c

index e06193e831a52088a8adb82650143edd6b6a0e55..ba6c8ac2a736f501736419f9e8640e89695515cc 100644 (file)
@@ -1501,7 +1501,9 @@ static int lan78xx_link_reset(struct lan78xx_net *dev)
 
                lan78xx_rx_urb_submit_all(dev);
 
+               local_bh_disable();
                napi_schedule(&dev->napi);
+               local_bh_enable();
        }
 
        return 0;