From: KC27041980 <kc27041980@xxxxxxxxx> Move call to kref_get() to under the mutex_lock(&ec->mutex) as this will remove any delete race scenarios. Signed-off-by: KC27041980 <kc27041980@xxxxxxxxx> --- drivers/acpi/ec.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/drivers/acpi/ec.c b/drivers/acpi/ec.c index da1e5c5..9c1bd57 100644 --- a/drivers/acpi/ec.c +++ b/drivers/acpi/ec.c @@ -1073,8 +1073,12 @@ acpi_ec_get_query_handler_by_value(struct acpi_ec *ec, u8 value) break; } } + + if (found) + acpi_ec_get_query_handler(handler); mutex_unlock(&ec->mutex); - return found ? acpi_ec_get_query_handler(handler) : NULL; + + return found ? handler : NULL; } static void acpi_ec_query_handler_release(struct kref *kref) -- 2.7.4