From: "Danilo Krummrich" <dakr@kernel.org>
To: "Hans de Goede" <johannes.goede@oss.qualcomm.com>
Cc: "Greg Kroah-Hartman" <gregkh@linuxfoundation.org>,
"Rafael J . Wysocki" <rafael@kernel.org>,
"Rob Herring" <robh@kernel.org>,
"Bjorn Andersson" <andersson@kernel.org>,
<linux-kernel@vger.kernel.org>,
"Saravana Kannan" <saravanak@kernel.org>
Subject: Re: [PATCH v2 resend] driver core: Make deferred_probe_timeout default a Kconfig option
Date: Mon, 30 Mar 2026 21:13:42 +0200 [thread overview]
Message-ID: <DHGCU73ZYWV5.WB7ANK0ZSX1J@kernel.org> (raw)
In-Reply-To: <20260314084916.10868-1-johannes.goede@oss.qualcomm.com>
On Sat Mar 14, 2026 at 9:49 AM CET, Hans de Goede wrote:
> Code using driver_deferred_probe_check_state() differs from most
> EPROBE_DEFER handling in the kernel. Where other EPROBE_DEFER handling
> (e.g. clks, gpios and regulators) waits indefinitely for suppliers to
> show up, code using driver_deferred_probe_check_state() will fail
> after the deferred_probe_timeout.
>
> This is a problem for generic distro kernels which want to support many
> boards using a single kernel build. These kernels want as much drivers to
> be modular as possible. The initrd also should be as small as possible,
> so the initrd will *not* have drivers not needing to get the rootfs.
>
> Combine this with waiting for a full-disk encryption password in
> the initrd and it is pretty much guaranteed that the default 10s timeout
> will be hit, causing probe() failures when drivers on the rootfs happen
> to get modprobe-d before other rootfs modules providing their suppliers.
>
> Make the default timeout configurable from Kconfig to allow distro kernel
> configs where many of the supplier drivers are modules to set the default
> through Kconfig.
>
> While at it document that a value of -1 can be used to disable the timeout
> (wait indefinitely).
>
> Acked-by: Saravana Kannan <saravanak@kernel.org>
> Signed-off-by: Hans de Goede <johannes.goede@oss.qualcomm.com>
Applied to driver-core-testing, thanks!
[ Drop deferred_probe_timeout documentation change in
kernel-parameters.txt. - Danilo ]
Sorry for the delay -- I dropped the documentation change as I think it deserves
a separate patch and I think that just adding "Set to -1 to wait indefinitely."
at the end doesn't read very well.
(Also, I think every negative value will result in waiting indefinitely.)
I also upgraded Saravana's ACK (which already was conditional on this change
before) to an RB, as offered in [1].
deferred_probe_timeout=
[KNL] Debugging option to set a timeout in seconds for
deferred probe to give up waiting on dependencies to
probe. Only specific dependencies (subsystems or
drivers) that have opted in will be ignored. A timeout
of 0 will timeout at the end of initcalls. If the time
out hasn't expired, it'll be restarted by each
successful driver registration. This option will also
dump out devices still on the deferred probe list after
retrying. Set to -1 to wait indefinitely.
Maybe something like this?
deferred_probe_timeout=
[KNL] Debugging option to set a timeout in seconds for
deferred probe to give up waiting on dependencies to
probe. Only specific dependencies (subsystems or
drivers) that have opted in will be ignored. A timeout
of 0 will timeout at the end of initcalls; a negative value
is treated as an infinite timeout value. If the timeout
hasn't expired, it'll be restarted by each successful
driver registration. This option will also dump out devices
still on the deferred probe list after retrying.
[1] https://lore.kernel.org/all/CACRMN=eacrCNQodiYZJ-XH8rA6ZTEKNGrGi3JTrjFFGfMgSh5g@mail.gmail.com/
next prev parent reply other threads:[~2026-03-30 19:13 UTC|newest]
Thread overview: 4+ messages / expand[flat|nested] mbox.gz Atom feed top
2026-03-14 8:49 [PATCH v2 resend] driver core: Make deferred_probe_timeout default a Kconfig option Hans de Goede
2026-03-30 15:10 ` Hans de Goede
2026-03-30 19:13 ` Danilo Krummrich [this message]
2026-04-16 14:28 ` Hans de Goede
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=DHGCU73ZYWV5.WB7ANK0ZSX1J@kernel.org \
--to=dakr@kernel.org \
--cc=andersson@kernel.org \
--cc=gregkh@linuxfoundation.org \
--cc=johannes.goede@oss.qualcomm.com \
--cc=linux-kernel@vger.kernel.org \
--cc=rafael@kernel.org \
--cc=robh@kernel.org \
--cc=saravanak@kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox