aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/platform/x86/firmware_attributes_class.c
diff options
context:
space:
mode:
authorChenyuan Yang <[email protected]>2025-01-11 18:01:18 +0000
committerIlpo Järvinen <[email protected]>2025-01-14 16:29:59 +0000
commit1b2128aa2d45ab20b22548dcf4b48906298ca7fd (patch)
tree4d10cd48a5278ce57a1dbec57a56dbb3dd5514a5 /drivers/platform/x86/firmware_attributes_class.c
parentplatform/x86: intel/pmc: Fix ioremap() of bad address (diff)
downloadkernel-1b2128aa2d45ab20b22548dcf4b48906298ca7fd.tar.gz
kernel-1b2128aa2d45ab20b22548dcf4b48906298ca7fd.zip
platform/x86: dell-uart-backlight: fix serdev race
The dell_uart_bl_serdev_probe() function calls devm_serdev_device_open() before setting the client ops via serdev_device_set_client_ops(). This ordering can trigger a NULL pointer dereference in the serdev controller's receive_buf handler, as it assumes serdev->ops is valid when SERPORT_ACTIVE is set. This is similar to the issue fixed in commit 5e700b384ec1 ("platform/chrome: cros_ec_uart: properly fix race condition") where devm_serdev_device_open() was called before fully initializing the device. Fix the race by ensuring client ops are set before enabling the port via devm_serdev_device_open(). Note, serdev_device_set_baudrate() and serdev_device_set_flow_control() calls should be after the devm_serdev_device_open() call. Fixes: 484bae9e4d6a ("platform/x86: Add new Dell UART backlight driver") Signed-off-by: Chenyuan Yang <[email protected]> Reviewed-by: Hans de Goede <[email protected]> Link: https://lore.kernel.org/r/[email protected] Reviewed-by: Ilpo Järvinen <[email protected]> Signed-off-by: Ilpo Järvinen <[email protected]>
Diffstat (limited to 'drivers/platform/x86/firmware_attributes_class.c')
0 files changed, 0 insertions, 0 deletions