Source: linux
Version: 7.2.11-1
Severity: wishlist
X-Debbugs-Cc: [email protected], [email protected]
User: [email protected]
Usertags: arm64

Dear Maintainer,

(self-reporting, I intent to create the necessary PRs in salsa)

arm64 laptops that are using luks encryption need to set the
deferred_probe_timeout=30 command-line option to avoid having a timeout
while typing the LUKS password.

Quoting the commit [1] that introduced DRIVER_DEFERRED_PROBE_TIMEOUT as
a Kconfig option for the justification:

> 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.
> 
> Reviewed-by: Saravana Kannan <[email protected]>
> Signed-off-by: Hans de Goede <[email protected]>
> Link: 
> https://patch.msgid.link/[email protected]
> [ Drop deferred_probe_timeout documentation change in
>   kernel-parameters.txt. - Danilo ]
> Signed-off-by: Danilo Krummrich <[email protected]>

Since this option now allows for distributions to change the default 10s
value to something else, we can now tweak the Debian kernel to have a
more generous timeout (eg. 30s) or even disable the timeout so that
taking time to enter a LUKS decryption key does not lead to driver
timeouts on arm64 laptops.

Thanks,

Agathe.

[1] 
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git/commit/drivers/base/Kconfig?id=56e3ee721b33bdc4ce0765d370983aa4384f8a59

Reply via email to