Input: cros_ec_keyb - Defer probe until parent EC device is registered
authorTzung-Bi Shih <tzungbi@kernel.org>
Thu, 28 Aug 2025 08:36:01 +0000 (08:36 +0000)
committerTzung-Bi Shih <tzungbi@kernel.org>
Sun, 14 Sep 2025 03:34:41 +0000 (11:34 +0800)
commit48633acccf38d706d7b368400647bb9db9caf1ae
treef7b1b42fcbe6cba81cfd174b112c8ce4e7457b9f
parent56cb557279d70397cefb497e0f06bdd6fd685f8e
Input: cros_ec_keyb - Defer probe until parent EC device is registered

The `cros_ec_keyb` driver can be probed before the cros_ec_device has
completed the registration.  This creates a race condition where
`cros_ec_keyb` might access uninitialized data.

Fix this by calling `cros_ec_device_registered()` to check the parent's
status.  If the device is not yet ready, return -EPROBE_DEFER to ensure
the probe is retried later.

Acked-by: Dmitry Torokhov <dmitry.torokhov@gmail.com>
Link: https://lore.kernel.org/r/20250828083601.856083-6-tzungbi@kernel.org
Signed-off-by: Tzung-Bi Shih <tzungbi@kernel.org>
drivers/input/keyboard/cros_ec_keyb.c