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. commit 38831eaf7d4c ("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: 38831eaf7d4c ("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:
parent
76538a32ea
commit
40d47c2e84
@ -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…
x
Reference in New Issue
Block a user