mirror of
https://github.com/hardkernel/linux.git
synced 2026-06-06 10:58:48 +09:00
platform/x86: thinkpad_acpi: Take hotkey_mutex during hotkey_exit()
[ Upstream commit e397c564298c2e91aea3887990da8e8eddb65277 ] 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 Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
ec653f4474
commit
408facc796
@@ -3042,10 +3042,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");
|
||||
@@ -3055,6 +3054,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