Re: [PATCH v3 net-next 5/6] net: usb: pegasus: Move long delayed work on system_dfl_long_wq

From: Petko Manolov

Date: Sun Sep 06 2026 - 04:09:26 EST


On 26-09-05 12:33:07, Alan Stern wrote:
> On Sat, Sep 05, 2026 at 05:04:50PM +0200, Sebastian Andrzej Siewior wrote:
> >
> > Still the wrong thing to do? The driver should do either flush_work() or
> > cancel_work_sync() (not flush_workqueue()).
>
> I think we're in agreement. If the driver relies on calling
> flush_workqueue(), it should not use a general-purpose workqueue. However,
> flush_work() or cancel_work_sync() is okay on an unordered general-purpose
> workqueue.

The driver is actually using queue_delayed_work()/cancel_delayed_work_sync() so
the above is of no concern.

Due to HW limitations the carrier state should be checked on a regular interval
and reported to the upper network layers. This worker relies only on generic
USB transfers, to and from the usb-to-eth adapter, and as such does not depend
on other I/O.

Failure to acquire correct carrier check does not seem to affect the device's
functionality. Overall i don't think the proposed workqueue change is
disruptive.


Petko