summaryrefslogtreecommitdiffstats
path: root/include/linux/sfi.h
diff options
context:
space:
mode:
authorSven Eckelmann <sven@narfation.org>2013-11-17 20:38:21 +0100
committerJiri Kosina <jkosina@suse.cz>2013-11-19 09:37:45 +0100
commit9f323b681139d99beb456aff08cf339b29f3c78d (patch)
tree170dfa3046d5dcddf3f5bd7ce490f8ed0b990712 /include/linux/sfi.h
parente0da5c9a49b927d9e5f62b21a7abc283e99022e2 (diff)
downloadblackbird-op-linux-9f323b681139d99beb456aff08cf339b29f3c78d.tar.gz
blackbird-op-linux-9f323b681139d99beb456aff08cf339b29f3c78d.zip
HID: sony: Send FF commands in non-atomic context
The ff_memless has a timer running which gets run in an atomic context and calls the play_effect callback. The callback function for sony uses the hid_output_raw_report (overwritten by sixaxis_usb_output_raw_report) function to handle differences in the control message format. It is not safe for an atomic context because it may sleep later in usb_start_wait_urb. This "scheduling while atomic" can cause the system to lock up. A workaround is to make the force feedback state update using work_queues and use the play_effect function only to enqueue the work item. Reported-by: Simon Wood <simon@mungewell.org> Reported-by: David Herrmann <dh.herrmann@gmail.com> Signed-off-by: Sven Eckelmann <sven@narfation.org> Signed-off-by: Simon Wood <simon@mungewell.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
Diffstat (limited to 'include/linux/sfi.h')
0 files changed, 0 insertions, 0 deletions
OpenPOWER on IntegriCloud