[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <PH7PR11MB84555DDEF7FA8EBC6651AA649A49A@PH7PR11MB8455.namprd11.prod.outlook.com>
Date: Wed, 9 Jul 2025 05:31:51 +0000
From: "Miao, Jun" <jun.miao@...el.com>
To: Oleksij Rempel <o.rempel@...gutronix.de>
CC: "kuba@...nel.org" <kuba@...nel.org>, "oneukum@...e.com"
<oneukum@...e.com>, "qiang.zhang@...ux.dev" <qiang.zhang@...ux.dev>,
"netdev@...r.kernel.org" <netdev@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>
Subject: RE: [PATCH] net: usb: enable the work after stop usbnet by ip down/up
>
>Hi Jun,
>
>please resend this patch with the name [PATCH net-next] and add all related
>people suggested by scripts/get_maintainer.pl.
>
Ok, I will resend again.
If you have any suggestions for patch commits, please tell me ?
Thanks
Jun.Miao
>./scripts/get_maintainer.pl drivers/net/usb/usbnet.c Oliver Neukum
><oneukum@...e.com> (maintainer:USB "USBNET" DRIVER FRAMEWORK)
>Andrew Lunn <andrew+netdev@...n.ch> (maintainer:NETWORKING DRIVERS)
>"David S. Miller" <davem@...emloft.net> (maintainer:NETWORKING DRIVERS)
>Eric Dumazet <edumazet@...gle.com> (maintainer:NETWORKING DRIVERS)
>Jakub Kicinski <kuba@...nel.org> (maintainer:NETWORKING DRIVERS) Paolo
>Abeni <pabeni@...hat.com> (maintainer:NETWORKING DRIVERS)
>netdev@...r.kernel.org (open list:USB "USBNET" DRIVER FRAMEWORK) linux-
>usb@...r.kernel.org (open list:USB NETWORKING DRIVERS) linux-
>kernel@...r.kernel.org (open list)
>
>Best Regards,
>Oleksij
>
>On Tue, Jul 08, 2025 at 04:16:53PM +0800, Jun Miao wrote:
>> From: Zqiang <qiang.zhang@...ux.dev>
>>
>> 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@...gutronix.de>
>> Tested-by: Oleksij Rempel <o.rempel@...gutronix.de>
>> Signed-off-by: Zqiang <qiang.zhang@...ux.dev>
>> Signed-off-by: Jun Miao <jun.miao@...el.com>
>> ---
>> drivers/net/usb/usbnet.c | 4 ++--
>> 1 file changed, 2 insertions(+), 2 deletions(-)
>>
>> diff --git a/drivers/net/usb/usbnet.c b/drivers/net/usb/usbnet.c index
>> 9564478a79cc..6a3cca104af9 100644
>> --- a/drivers/net/usb/usbnet.c
>> +++ b/drivers/net/usb/usbnet.c
>> @@ -861,14 +861,14 @@ int usbnet_stop (struct net_device *net)
>> /* deferred work (timer, softirq, task) must also stop */
>> dev->flags = 0;
>> timer_delete_sync(&dev->delay);
>> - disable_work_sync(&dev->bh_work);
>> + cancel_work_sync(&dev->bh_work);
>> cancel_work_sync(&dev->kevent);
>>
>> /* We have cyclic dependencies. Those calls are needed
>> * to break a cycle. We cannot fall into the gaps because
>> * we have a flag
>> */
>> - disable_work_sync(&dev->bh_work);
>> + cancel_work_sync(&dev->bh_work);
>> timer_delete_sync(&dev->delay);
>> cancel_work_sync(&dev->kevent);
>>
>> --
>> 2.32.0
>>
>>
>
>--
>Pengutronix e.K. | |
>Steuerwalder Str. 21 | http://www.pengutronix.de/ |
>31137 Hildesheim, Germany | Phone: +49-5121-206917-0 |
>Amtsgericht Hildesheim, HRA 2686 | Fax: +49-5121-206917-5555 |
Powered by blists - more mailing lists