aboutsummaryrefslogtreecommitdiff
path: root/net/unix/af_unix.c
diff options
context:
space:
mode:
authorStefan Nickl <[email protected]>2005-09-05 01:57:46 -0500
committerDmitry Torokhov <[email protected]>2005-09-05 01:57:46 -0500
commit010988e888a0abbe7118635c1b33d049caae6b29 (patch)
tree064ebbc4e054bb19bb685475bcc07be21d6a1b76 /net/unix/af_unix.c
parent7d25258f69cedc2f2e55eb25ba2e2078060b44f4 (diff)
Input: HIDDEV - make HIDIOCSREPORT wait IO completion
When trying to make the hiddev driver issue several Set_Report control transfers to a custom device with 2.6.13-rc6, only the first transfer in a row is carried out, while others immediately following it are silently dropped. This happens where hid_submit_report() (in hid-core.c) tests for HID_CTRL_RUNNING, which seems to be still set because the first transfer is not finished yet. As a workaround, inserting a delay between the two calls to ioctl(HIDIOCSREPORT) in userspace "solves" the problem. The straightforward fix is to add a call to hid_wait_io() to the implementation of HIDIOCSREPORT (in hiddev.c), just like for HIDIOCGREPORT. Works fine for me. Apparently, this issue has some history: http://marc.theaimsgroup.com/?l=linux-usb-users&m=111100670105558&w=2 Signed-off-by: Stefan Nickl <[email protected]> Signed-off-by: Andrew Morton <[email protected]> Signed-off-by: Vojtech Pavlik <[email protected]> Signed-off-by: Dmitry Torokhov <[email protected]>
Diffstat (limited to 'net/unix/af_unix.c')
0 files changed, 0 insertions, 0 deletions