mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-03 18:12:25 -04: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:
@@ -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)
|
||||
|
||||
Reference in New Issue
Block a user