From nobody Thu Apr 2 19:00:56 2026 Received: from mx0a-0031df01.pphosted.com (mx0a-0031df01.pphosted.com [205.220.168.131]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by smtp.subspace.kernel.org (Postfix) with ESMTPS id 8CB8C35CBAE for ; Thu, 12 Feb 2026 14:54:22 +0000 (UTC) Authentication-Results: smtp.subspace.kernel.org; arc=none smtp.client-ip=205.220.168.131 ARC-Seal: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770908064; cv=none; b=GNxp8qmqTwU2HvnMqba98RApZB52zgL0R8bE+JvICyuQAxse1ulURRGdlPKC4VxomawXgMtsDzdbLPLE7Hu1NESYI5QCe9+bZlQTj4ww9wco03BuomnOUiBb2i6iC1K5r9PmyxHruKf8LGZrckJ7nmK+IOWVq0JB5i4/hszO6J8= ARC-Message-Signature: i=1; a=rsa-sha256; d=subspace.kernel.org; s=arc-20240116; t=1770908064; c=relaxed/simple; bh=0DqLjBPev46hnnR98Ugx9w9z8izZUorg1pzWM6Nw46U=; h=From:To:Cc:Subject:Date:Message-ID:MIME-Version; b=NCg1fjg9dL4m0Ah6XsSxWM2tBlPxPrXdlZ+bAJM/fJM3ZA8ui4njCssA/ttLsJyY/2ROFKSW61d+YfOTftHUKbAPtiwpsZqLHcULY2FLAoCPwgaILir5yZOfvSBL2i4W9E8AlrK2k6FwwQfmKU5u2jAi8otjHdrJ3SOz/FzWbBI= ARC-Authentication-Results: i=1; smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com; spf=pass smtp.mailfrom=oss.qualcomm.com; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b=BOmQnybb; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b=gmLK0vLW; arc=none smtp.client-ip=205.220.168.131 Authentication-Results: smtp.subspace.kernel.org; dmarc=pass (p=reject dis=none) header.from=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; spf=pass smtp.mailfrom=oss.qualcomm.com Authentication-Results: smtp.subspace.kernel.org; dkim=pass (2048-bit key) header.d=qualcomm.com header.i=@qualcomm.com header.b="BOmQnybb"; dkim=pass (2048-bit key) header.d=oss.qualcomm.com header.i=@oss.qualcomm.com header.b="gmLK0vLW" Received: from pps.filterd (m0279864.ppops.net [127.0.0.1]) by mx0a-0031df01.pphosted.com (8.18.1.11/8.18.1.11) with ESMTP id 61CEFnhP2121096 for ; Thu, 12 Feb 2026 14:54:21 GMT DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=qualcomm.com; h= cc:content-transfer-encoding:date:from:message-id:mime-version :subject:to; s=qcppdkim1; bh=2wybmWyIXIdaPjjvTfd/CvftA83EAfSmNdb waTg1OM8=; b=BOmQnybbSf5xumKPUQIRs4NX2MDfM85iF9TaBHceSkfZbSTutON OpEHThuCm+W44ebv8EpPTJL57Zp5jJQW1G8eSOiKxdC1VviI2XhhtCy7qbFY9uAX 7r2h6//wgiqexUVTYMSB1Znrgonrs1splDfN93bAssKkqE04nbPze4scLKv8WIIL XcxzbMsBvI9Phcldz2P4on+RwLjTGsEk58ZoetU1mr0aXevL7D4aXSh0zALgjWM+ 7lIwsMPZcvWxWC/ba7ksb7aQxsrR2cMIH/qeiEbh5pJ115WGecgUDt9ekEdX381R pPXSgItbXYQ5xf0BXEz05dPhd5Xlv5MWBSQ== Received: from mail-qk1-f199.google.com (mail-qk1-f199.google.com [209.85.222.199]) by mx0a-0031df01.pphosted.com (PPS) with ESMTPS id 4c9gfm04w1-1 (version=TLSv1.3 cipher=TLS_AES_128_GCM_SHA256 bits=128 verify=NOT) for ; Thu, 12 Feb 2026 14:54:21 +0000 (GMT) Received: by mail-qk1-f199.google.com with SMTP id af79cd13be357-8c70a08daf3so858788185a.3 for ; Thu, 12 Feb 2026 06:54:21 -0800 (PST) DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=oss.qualcomm.com; s=google; t=1770908060; x=1771512860; darn=vger.kernel.org; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:from:to:cc:subject:date:message-id:reply-to; bh=2wybmWyIXIdaPjjvTfd/CvftA83EAfSmNdbwaTg1OM8=; b=gmLK0vLWutOIgUDFSIBO7SRB8LKWiPDDdbAGaxd4Mj8/79rs0oyZBFpjwQHFF+vTou Y4YIRN5/0X+p5Vb2bWHHG54qip0cxCXBr5VUlZnz0q5cZlZvp5zAB3YrA+LtCx5Fx0Tk 48ktR9cHRLeeeA+4K7iFV6t+waHTwZaa3IDI/q0WdVaP81nI/Owm7M90B59bg170sm1S j2lqb8qL6MZFKp8Iz5XipzsUKFOna8WCHb1iBuNajzoxaqolkgBvX6aEtkaUruaSElFo fEWsPC2vsRLzrX/J6Ek66efs7KTZxSLYs2EaG3wgZedZ0Ts+ev7Fi/28UFCx+gP3NqnJ wUqw== X-Google-DKIM-Signature: v=1; a=rsa-sha256; c=relaxed/relaxed; d=1e100.net; s=20230601; t=1770908060; x=1771512860; h=content-transfer-encoding:mime-version:message-id:date:subject:cc :to:from:x-gm-gg:x-gm-message-state:from:to:cc:subject:date :message-id:reply-to; bh=2wybmWyIXIdaPjjvTfd/CvftA83EAfSmNdbwaTg1OM8=; b=I6zxAOT905urAgqFIuC2vvEa7XggNkgzjNHUCT1YTV7054nSODzjA6RE3Z4r0q3UZH CVRPOpMEUg6wsDl1BEliCUwkpuYtFzHLa51znQEWoSqPUGrJK8lkTduuytDmamzo51o7 m6BfzdnCohMgAtWUtQUAkPBEeH5h33PDuz/H+BoYNQoYVucxwdMYNeTZGrjmIQBo+QUM 7ZLR6n0rRIBUX5eZyn3vWicpn1d+YA/doLGS3k5kWxlnhP8cvHhoBvGtflvn1XmGfCwT A4IROk/vOzOo+w/6fEijLO/E26i9vuSlj3v0gGcION5Hxn4xN5YeEfeDk573vnYx2/c3 IrGw== X-Forwarded-Encrypted: i=1; AJvYcCVvH41+hMxTWB3Vj1EkVdxhXW0rz4oixO/iwem/3qbiiUNyeSRYKqR7zZEw1Z7kIGcCdHgELSsyHfl/r+I=@vger.kernel.org X-Gm-Message-State: AOJu0YzoaoQpbAjJKSN/ABPud2if+/Yj5VhQgGZ1mjzPmMU/9KVPBEPO 38+agiWg5MytTSNEZ6V9mXyOZiR4hh97lp8CGsNxveAG59TZGwmwcAXtpeQ9R7mRhN5zKaci7SQ fDKWE6pwijbXGkqgsHtcovOnjKM7EUOYnwLxk42VsySKaukoQ8jXbSMf7pB+rLn/GDZcrnfIGbJ I= X-Gm-Gg: AZuq6aKyJ1HKTUD/rE49CAgVLCVZ1Q4/KlMlMkXz4OZ42VUnSFXudOl9gHg+27IbLEh +wEmJ/bXN+9Z74rq1qcqhViC4zrHaEuGFPzu09R3AUYF8bAJt5dVV4o23UHISZtW123QNdgQgjt ojTzgpS/iy12U8KRHNWRS5T+8n+pCZsYRFW+e9MpoV7rl8Hg6E5ddpXpejn9o32rWWnUgNMQ2vo tnUbuDql6aTkaCFNbVu0m5W580CdNkm/lIlc8+Bt3mvzU6cOsGBo8miytGAUeNhRiun5HeduYls O26b/w21xpz6xq49NBiRDJU/K97EXPux0Zr2w9/0nlC7MaKhpDy00P8R8TtoUgee4Pk5wJeJeTD VxkF8KLgJuuyB1K3bUINUEqRWO+JkDdoKH6DIBmG75Tt1NrBzQoQ4lu+oMRQrYgPLtk6l+c+lxy CaxQ5i+1hTG4p7N32K6EXOPdKcE3POOhkaSseP X-Received: by 2002:a05:620a:31a9:b0:8b2:ea5a:4149 with SMTP id af79cd13be357-8cb3511b16amr252910385a.65.1770908060295; Thu, 12 Feb 2026 06:54:20 -0800 (PST) X-Received: by 2002:a05:620a:31a9:b0:8b2:ea5a:4149 with SMTP id af79cd13be357-8cb3511b16amr252907485a.65.1770908059805; Thu, 12 Feb 2026 06:54:19 -0800 (PST) Received: from shalem (2001-1c00-0c32-7800-5bfa-a036-83f0-f9ec.cable.dynamic.v6.ziggo.nl. [2001:1c00:c32:7800:5bfa:a036:83f0:f9ec]) by smtp.gmail.com with ESMTPSA id 4fb4d7f45d1cf-65a3ced4124sm1769400a12.14.2026.02.12.06.54.17 (version=TLS1_3 cipher=TLS_AES_256_GCM_SHA384 bits=256/256); Thu, 12 Feb 2026 06:54:18 -0800 (PST) From: Hans de Goede To: Greg Kroah-Hartman , "Rafael J . Wysocki" , Danilo Krummrich Cc: Hans de Goede , Rob Herring , Bjorn Andersson , linux-kernel@vger.kernel.org, Saravana Kannan Subject: [PATCH v2] driver core: Make deferred_probe_timeout default a Kconfig option Date: Thu, 12 Feb 2026 15:54:16 +0100 Message-ID: <20260212145416.83949-1-johannes.goede@oss.qualcomm.com> X-Mailer: git-send-email 2.52.0 Precedence: bulk X-Mailing-List: linux-kernel@vger.kernel.org List-Id: List-Subscribe: List-Unsubscribe: MIME-Version: 1.0 Content-Transfer-Encoding: quoted-printable X-Proofpoint-ORIG-GUID: dXA1DDlT0zJWG16uajV8rYpz8ZJZn7UV X-Proofpoint-GUID: dXA1DDlT0zJWG16uajV8rYpz8ZJZn7UV X-Authority-Analysis: v=2.4 cv=Ctuys34D c=1 sm=1 tr=0 ts=698de99d cx=c_pps a=HLyN3IcIa5EE8TELMZ618Q==:117 a=xqWC_Br6kY4A:10 a=HzLeVaNsDn8A:10 a=s4-Qcg_JpJYA:10 a=VkNPw1HP01LnGYTKEx00:22 a=Mpw57Om8IfrbqaoTuvik:22 a=GgsMoib0sEa3-_RKJdDe:22 a=VwQbUJbxAAAA:8 a=EUspDBNiAAAA:8 a=iWeWSTDGdGHhZ6Hty2QA:9 a=bTQJ7kPSJx9SKPbeHEYW:22 X-Proofpoint-Spam-Details-Enc: AW1haW4tMjYwMjEyMDExMyBTYWx0ZWRfX9W4QLdj2kSNy D2+q2+KjdByqZR+7XexoVoYbxEkh0WHwylN/FS18srZ7D9v4j830L9NTYHlAasOqJtBrS5DWI1H 0lFAYVRVxJq4KF1+pN7nO83TkovbG2SCHlKZZdg2vbgXgwCIYX9vqDQyLQ8+L3x8uysoFNEIBLm isJ1RY0TGSmH9/dlYODunV0BsxnzGOcYtH3x7M4bgY1m/vFBAFkaWK3aOQHmyTQNazcdkPVce9C 4DPOlqOFLFfCu3dooYv7hJOAE+ZoJqVJlFxVNTcxJUpEc3Aa9BM3D2LSr6trBLbpMWCS78m0QbG 4W36+O2sg0+aCzmUXOz6EajN0xMj41TPnZnYDd0jo+MKMoHqc6Uv3hGtUCg1kZchCR+LaZUhj5N l6iD5HtKiC15cIiwT/LdAZYzR7RF4FRlAc7CkPz8mtRzVyM3aOQnGlMXp3yvdjPo+xojlvMAlns Yz+MpCNNKttRgnrwLbg== X-Proofpoint-Virus-Version: vendor=baseguard engine=ICAP:2.0.293,Aquarius:18.0.1121,Hydra:6.1.51,FMLib:17.12.100.49 definitions=2026-02-12_04,2026-02-12_03,2025-10-01_01 X-Proofpoint-Spam-Details: rule=outbound_notspam policy=outbound score=0 spamscore=0 clxscore=1015 suspectscore=0 lowpriorityscore=0 malwarescore=0 priorityscore=1501 phishscore=0 bulkscore=0 adultscore=0 impostorscore=0 classifier=typeunknown authscore=0 authtc= authcc= route=outbound adjust=0 reason=mlx scancount=1 engine=8.22.0-2601150000 definitions=main-2602120113 Content-Type: text/plain; charset="utf-8" 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 Signed-off-by: Hans de Goede --- Changes in v2: - Remove unnecessary addition of "if (driver_deferred_probe_timeout < 0)" check - Add Acked-by from Saravana --- Documentation/admin-guide/kernel-parameters.txt | 2 +- drivers/base/Kconfig | 9 +++++++++ drivers/base/dd.c | 6 +----- 3 files changed, 11 insertions(+), 6 deletions(-) diff --git a/Documentation/admin-guide/kernel-parameters.txt b/Documentatio= n/admin-guide/kernel-parameters.txt index aa0031108bc1..d26957741713 100644 --- a/Documentation/admin-guide/kernel-parameters.txt +++ b/Documentation/admin-guide/kernel-parameters.txt @@ -1250,7 +1250,7 @@ Kernel parameters 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. + retrying. Set to -1 to wait indefinitely. =20 delayacct [KNL] Enable per-task delay accounting =20 diff --git a/drivers/base/Kconfig b/drivers/base/Kconfig index 1786d87b29e2..f7d385cbd3ba 100644 --- a/drivers/base/Kconfig +++ b/drivers/base/Kconfig @@ -73,6 +73,15 @@ config DEVTMPFS_SAFE with the PROT_EXEC flag. This can break, for example, non-KMS video drivers. =20 +config DRIVER_DEFERRED_PROBE_TIMEOUT + int "Default value for deferred_probe_timeout" + default 0 if !MODULES + default 10 if MODULES + help + Set the default value for the deferred_probe_timeout kernel parameter. + See Documentation/admin-guide/kernel-parameters.txt for a description + of the deferred_probe_timeout kernel parameter. + config STANDALONE bool "Select only drivers that don't need compile-time external firmware" default y diff --git a/drivers/base/dd.c b/drivers/base/dd.c index bea8da5f8a3a..2f358e29e0e8 100644 --- a/drivers/base/dd.c +++ b/drivers/base/dd.c @@ -257,11 +257,7 @@ static int deferred_devs_show(struct seq_file *s, void= *data) } DEFINE_SHOW_ATTRIBUTE(deferred_devs); =20 -#ifdef CONFIG_MODULES -static int driver_deferred_probe_timeout =3D 10; -#else -static int driver_deferred_probe_timeout; -#endif +static int driver_deferred_probe_timeout =3D CONFIG_DRIVER_DEFERRED_PROBE_= TIMEOUT; =20 static int __init deferred_probe_timeout_setup(char *str) { --=20 2.52.0