diff options
author | Oliver Neukum <oneukum@suse.de> | 2015-06-29 11:10:41 +0200 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.com> | 2015-07-08 11:38:19 +0200 |
commit | 615322f6ac358f9c94b483d0a16f3f46fcb27b1c (patch) | |
tree | c386e8e1c1b942f65bd7081395e87792babe8b65 /drivers/hid/usbhid | |
parent | 67db8a8086e9b865533348954f5547f1e433101e (diff) | |
download | op-kernel-dev-615322f6ac358f9c94b483d0a16f3f46fcb27b1c.zip op-kernel-dev-615322f6ac358f9c94b483d0a16f3f46fcb27b1c.tar.gz |
HID: usbhid: no flushing if device is already polled
During open() it is unnecessary to wait for the device to flush
stale inputs if the device is polled while closed due to a quirk
or opening fails.
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Diffstat (limited to 'drivers/hid/usbhid')
-rw-r--r-- | drivers/hid/usbhid/hid-core.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index bfbe1be..1a23d78 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -710,7 +710,8 @@ int usbhid_open(struct hid_device *hid) * Wait 50 msec for the queue to empty before allowing events * to go through hid. */ - msleep(50); + if (res == 0 && !(hid->quirks & HID_QUIRK_ALWAYS_POLL)) + msleep(50); clear_bit(HID_RESUME_RUNNING, &usbhid->iofl); } done: |