]> git.ipfire.org Git - thirdparty/kernel/linux.git/commit
net: usb: enable the work after stop usbnet by ip down/up
authorZqiang <qiang.zhang@linux.dev>
Tue, 8 Jul 2025 08:16:53 +0000 (16:16 +0800)
committerJakub Kicinski <kuba@kernel.org>
Thu, 10 Jul 2025 02:31:26 +0000 (19:31 -0700)
commit6dfcbd7d1d657994a57b53ad4be834eb783f32bc
tree8b178f854a3d51bd255fbad7cccb965bcef5acb2
parent3b932976e0a1372ceaba0ceddec27e07d49e5715
net: usb: enable the work after stop usbnet by ip down/up

Oleksij reported that:
The smsc95xx driver fails after one down/up cycle, like this:
 $ nmcli device set enu1u1 managed no
 $ p a a 10.10.10.1/24 dev enu1u1
 $ ping -c 4 10.10.10.3
 $ ip l s dev enu1u1 down
 $ ip l s dev enu1u1 up
 $ ping -c 4 10.10.10.3
The second ping does not reach the host. Networking also fails on other interfaces.

Enable the work by replacing the disable_work_sync() with cancel_work_sync().

[Jun Miao: completely write the commit changelog]

Fixes: 2c04d279e857 ("net: usb: Convert tasklet API to new bottom half workqueue mechanism")
Reported-by: Oleksij Rempel <o.rempel@pengutronix.de>
Tested-by: Oleksij Rempel <o.rempel@pengutronix.de>
Signed-off-by: Zqiang <qiang.zhang@linux.dev>
Signed-off-by: Jun Miao <jun.miao@intel.com>
Link: https://patch.msgid.link/20250708081653.307815-1-jun.miao@intel.com
Signed-off-by: Jakub Kicinski <kuba@kernel.org>
drivers/net/usb/usbnet.c