HID: debug: Use the __set_current_state()
authorZihuan Zhang <zhangzihuan@kylinos.cn>
Fri, 9 May 2025 02:25:54 +0000 (10:25 +0800)
committerJiri Kosina <jkosina@suse.com>
Tue, 10 Jun 2025 19:43:24 +0000 (21:43 +0200)
commitd3db1ce9bf8f4a8e03d3bd19000b32290bca7d74
tree61b93aa2e84ee4e3b9dbc5d60809ebc1f053fa68
parent2043ae9019e0f75c7785048230586c3f3ca0a2a4
HID: debug: Use the __set_current_state()

When detecting an invalid list->hdev, the process needs to manually set
its state to TASK_RUNNING and exit. In the original code,
set_current_state() (which includes a memory barrier) is used here, but
it is immediately followed by a mutex_unlock() call. Since
mutex_unlock() internally includes a memory barrier, this ensures that
all modifications within the critical section (including the process
state) are visible to other CPUs. Therefore, replacing it with
__set_current_state() (without an implicit barrier) avoids redundant
memory barriers.

Signed-off-by: Zihuan Zhang <zhangzihuan@kylinos.cn>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
drivers/hid/hid-debug.c