Message ID | 20200515165227.28859-1-andrzej.p@collabora.com (mailing list archive) |
---|---|
State | New |
Headers | show |
Series | Support inhibiting input devices | expand |
On Fri, 15 May 2020, Andrzej Pietrasiewicz wrote: > Use the new helper. Inspecting input device's 'users' member needs to be > done under device's mutex, so add appropriate invocations. > > Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> Acked-by: Henrique de Moraes Holschuh <hmh@hmh.eng.br> > --- > drivers/platform/x86/thinkpad_acpi.c | 4 +++- > 1 file changed, 3 insertions(+), 1 deletion(-) > > diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c > index 0f704484ae1d..8ae11b8c3ebb 100644 > --- a/drivers/platform/x86/thinkpad_acpi.c > +++ b/drivers/platform/x86/thinkpad_acpi.c > @@ -2671,9 +2671,10 @@ static void hotkey_poll_setup(const bool may_warn) > const u32 poll_driver_mask = hotkey_driver_mask & hotkey_source_mask; > const u32 poll_user_mask = hotkey_user_mask & hotkey_source_mask; > > + mutex_lock(&tpacpi_inputdev->mutex); > if (hotkey_poll_freq > 0 && > (poll_driver_mask || > - (poll_user_mask && tpacpi_inputdev->users > 0))) { > + (poll_user_mask && input_device_enabled(tpacpi_inputdev)))) { > if (!tpacpi_hotkey_task) { > tpacpi_hotkey_task = kthread_run(hotkey_kthread, > NULL, TPACPI_NVRAM_KTHREAD_NAME); > @@ -2690,6 +2691,7 @@ static void hotkey_poll_setup(const bool may_warn) > poll_user_mask, poll_driver_mask); > } > } > + mutex_unlock(&tpacpi_inputdev->mutex); > } > > static void hotkey_poll_setup_safe(const bool may_warn)
diff --git a/drivers/platform/x86/thinkpad_acpi.c b/drivers/platform/x86/thinkpad_acpi.c index 0f704484ae1d..8ae11b8c3ebb 100644 --- a/drivers/platform/x86/thinkpad_acpi.c +++ b/drivers/platform/x86/thinkpad_acpi.c @@ -2671,9 +2671,10 @@ static void hotkey_poll_setup(const bool may_warn) const u32 poll_driver_mask = hotkey_driver_mask & hotkey_source_mask; const u32 poll_user_mask = hotkey_user_mask & hotkey_source_mask; + mutex_lock(&tpacpi_inputdev->mutex); if (hotkey_poll_freq > 0 && (poll_driver_mask || - (poll_user_mask && tpacpi_inputdev->users > 0))) { + (poll_user_mask && input_device_enabled(tpacpi_inputdev)))) { if (!tpacpi_hotkey_task) { tpacpi_hotkey_task = kthread_run(hotkey_kthread, NULL, TPACPI_NVRAM_KTHREAD_NAME); @@ -2690,6 +2691,7 @@ static void hotkey_poll_setup(const bool may_warn) poll_user_mask, poll_driver_mask); } } + mutex_unlock(&tpacpi_inputdev->mutex); } static void hotkey_poll_setup_safe(const bool may_warn)
Use the new helper. Inspecting input device's 'users' member needs to be done under device's mutex, so add appropriate invocations. Signed-off-by: Andrzej Pietrasiewicz <andrzej.p@collabora.com> --- drivers/platform/x86/thinkpad_acpi.c | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-)