]> git.karo-electronics.de Git - karo-tx-linux.git/commit
HID: cp2112: fix sleep-while-atomic
authorJohan Hovold <johan@kernel.org>
Mon, 30 Jan 2017 10:26:38 +0000 (11:26 +0100)
committerJiri Kosina <jkosina@suse.cz>
Tue, 31 Jan 2017 11:59:32 +0000 (12:59 +0100)
commit7a7b5df84b6b4e5d599c7289526eed96541a0654
treecf7514c7ddf4410fe37ca9099a2785e1cf08fa7d
parent877a021e08ccb6434718c0cc781fdf943c884cc0
HID: cp2112: fix sleep-while-atomic

A recent commit fixing DMA-buffers on stack added a shared transfer
buffer protected by a spinlock. This is broken as the USB HID request
callbacks can sleep. Fix this up by replacing the spinlock with a mutex.

Fixes: 1ffb3c40ffb5 ("HID: cp2112: make transfer buffers DMA capable")
Cc: stable <stable@vger.kernel.org> # 4.9
Signed-off-by: Johan Hovold <johan@kernel.org>
Reviewed-by: Benjamin Tissoires <benjamin.tissoires@redhat.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-cp2112.c