[PATCH char-misc-next] mei: stop rescan work before bus cleanup
From: Alexander Usyskin
Date: Thu Oct 15 2026 - 09:07:34 EST
Cancel workers between setting driver state to MEI_DEV_POWERING_DOWN
and bus cleanup routine to ensure that stray bus rescan work
would not clash with the bus cleanup.
Signed-off-by: Alexander Usyskin <alexander.usyskin@xxxxxxxxx>
---
drivers/misc/mei/init.c | 4 ++++
1 file changed, 4 insertions(+)
diff --git a/drivers/misc/mei/init.c b/drivers/misc/mei/init.c
index 82444d67db2a..56ecfccb9544 100644
--- a/drivers/misc/mei/init.c
+++ b/drivers/misc/mei/init.c
@@ -310,6 +310,10 @@ static void __mei_stop(struct mei_device *dev)
mutex_lock(&dev->device_lock);
mei_set_devstate(dev, MEI_DEV_POWERING_DOWN);
mutex_unlock(&dev->device_lock);
+
+ /* Cancel background work items (including bus rescan) before bus cleanup. */
+ mei_cancel_work(dev);
+
mei_cl_bus_remove_devices(dev);
mutex_lock(&dev->device_lock);
mei_set_devstate(dev, MEI_DEV_POWER_DOWN);
---
base-commit: 79e5797d243a466138f641932f81dc69f796060c
change-id: 20261015-stop_rescan_work-8e60b0eef735
Best regards,
--
Alexander Usyskin <alexander.usyskin@xxxxxxxxx>