]> git.baikalelectronics.ru Git - kernel.git/commit
Revert "HID: hid-logitech-dj: querying_devices was never set"
authorJiri Kosina <jkosina@suse.cz>
Fri, 9 Aug 2013 09:34:19 +0000 (11:34 +0200)
committerJiri Kosina <jkosina@suse.cz>
Fri, 9 Aug 2013 09:34:19 +0000 (11:34 +0200)
commitb9fd7b25c5f6f5c6a114da4e50a79e95317072bc
treef03473054ad2582e5322571eb84c00703362df63
parent25b211e34241e23f1df33a23d9d76f1e1bd730f5
Revert "HID: hid-logitech-dj: querying_devices was never set"

This reverts commit 985bdacf08cc513f4fc76b800cb3fb1b35e5f0d4.

Explanation provided by Benjamin Tissoires:

Commit "HID: hid-logitech-dj, querying_devices was never set" activate
a flag which guarantees that we do not ask the receiver for too many
enumeration. When the flag is set, each following enumeration call is
discarded (the usb request is not forwarded to the receiver). The flag
is then released when the driver receive a pairing information event,
which normally follows the enumeration request.
However, the USB3 bug makes the driver think the enumeration request
has been forwarded to the receiver. However, it is actually not the
case because the USB stack returns -EPIPE. So, when a new unknown
device appears, the workaround consisting in asking for a new
enumeration is not working anymore: this new enumeration is discarded
because of the flag, which is never reset.

A solution could be to trigger a timeout before releasing it, but for
now, let's just revert the patch.

Reported-by: Benjamin Tissoires <benjamin.tissoires@gmail.com>
Tested-by: Sune Mølgaard <sune@molgaard.org>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
drivers/hid/hid-logitech-dj.c