Message ID | 20230324202628.76966-3-W_Armin@gmx.de |
---|---|
State | Accepted |
Commit | e5b492c6bb900fcf9722e05f4a10924410e170c1 |
Headers | show |
Series | ACPI: SBS: Fix various issues | expand |
diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index f84905dbd8ca..4ae017391533 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -1132,6 +1132,7 @@ static void acpi_ec_remove_query_handlers(struct acpi_ec *ec, void acpi_ec_remove_query_handler(struct acpi_ec *ec, u8 query_bit) { acpi_ec_remove_query_handlers(ec, false, query_bit); + flush_workqueue(ec_query_wq); } EXPORT_SYMBOL_GPL(acpi_ec_remove_query_handler);
When removing custom query handlers, the handler might still be used inside the EC query workqueue, causing a kernel oops if the module holding the callback function was already unloaded. Fix this by flushing the EC query workqueue when removing custom query handlers. Tested on a Acer Travelmate 4002WLMi Signed-off-by: Armin Wolf <W_Armin@gmx.de> --- drivers/acpi/ec.c | 1 + 1 file changed, 1 insertion(+) -- 2.30.2