mirror of
https://github.com/torvalds/linux
synced 2024-10-15 15:59:15 +00:00
platform/x86: thinkpad_acpi: Take hotkey_mutex during hotkey_exit()
hotkey_exit() already takes the mutex around the hotkey_poll_stop_sync() call, but not around the other calls. commit38831eaf7d
("platform/x86: thinkpad_acpi: use lockdep annotations") has added lockdep_assert_held() checks to various hotkey functions. These lockdep_assert_held() checks fail causing WARN() backtraces in dmesg due to missing locking in hotkey_exit(), fix this. Fixes:38831eaf7d
("platform/x86: thinkpad_acpi: use lockdep annotations") Tested-by: Mark Pearson <mpearson-lenovo@squebb.ca> Signed-off-by: Hans de Goede <hdegoede@redhat.com> Reviewed-by: Mark Pearson <mpearson-lenovo@squebb.ca> Reviewed-by: Ilpo Järvinen <ilpo.jarvinen@linux.intel.com> Link: https://lore.kernel.org/r/20240424122834.19801-2-hdegoede@redhat.com
This commit is contained in:
parent
5c94664cf2
commit
e397c56429
|
@ -3044,10 +3044,9 @@ static void tpacpi_send_radiosw_update(void)
|
|||
|
||||
static void hotkey_exit(void)
|
||||
{
|
||||
#ifdef CONFIG_THINKPAD_ACPI_HOTKEY_POLL
|
||||
mutex_lock(&hotkey_mutex);
|
||||
#ifdef CONFIG_THINKPAD_ACPI_HOTKEY_POLL
|
||||
hotkey_poll_stop_sync();
|
||||
mutex_unlock(&hotkey_mutex);
|
||||
#endif
|
||||
dbg_printk(TPACPI_DBG_EXIT | TPACPI_DBG_HKEY,
|
||||
"restoring original HKEY status and mask\n");
|
||||
|
@ -3057,6 +3056,8 @@ static void hotkey_exit(void)
|
|||
hotkey_mask_set(hotkey_orig_mask)) |
|
||||
hotkey_status_set(false)) != 0)
|
||||
pr_err("failed to restore hot key mask to BIOS defaults\n");
|
||||
|
||||
mutex_unlock(&hotkey_mutex);
|
||||
}
|
||||
|
||||
static void __init hotkey_unmap(const unsigned int scancode)
|
||||
|
|
Loading…
Reference in a new issue