Re: [PATCH 2/2] driver core: Guard deferred probe timeout extension with delayed_work_pending()
From: Geert Uytterhoeven
Date: Tue May 26 2026 - 08:57:01 EST
Hi Danilo,
On Mon, 25 May 2026 at 03:23, Danilo Krummrich <dakr@xxxxxxxxxx> wrote:
> mod_delayed_work() unconditionally queues the work even when it wasn't
> previously pending, which can fire the timeout prematurely or restart it
> after it already fired. Add a delayed_work_pending() guard to restore
> the originally intended semantics.
>
> Premature firing calls fw_devlink_drivers_done() before all built-in
> drivers have registered, causing fw_devlink to prematurely relax device
> links for suppliers whose drivers haven't loaded yet.
>
> Fixes: 1137838865bf ("driver core: Use mod_delayed_work to prevent lost deferred probe work")
> Signed-off-by: Danilo Krummrich <dakr@xxxxxxxxxx>
Thanks, with both patches from this series applied, I am no longer
seeing the WARNING Biju reported[1], and thousands of "sync_state()
pending due to" and hundreds of "deferred probe pending" messages.
Tested-by: Geert Uytterhoeven <geert+renesas@xxxxxxxxx>
[1] https://lore.kernel.org/20260526120306.184283-1-biju.das.jz@xxxxxxxxxxxxxx
Gr{oetje,eeting}s,
Geert
--
Geert Uytterhoeven -- There's lots of Linux beyond ia32 -- geert@xxxxxxxxxxxxxx
In personal conversations with technical people, I call myself a hacker. But
when I'm talking to journalists I just say "programmer" or something like that.
-- Linus Torvalds