diff options
author | Oliver Neukum <oneukum@suse.com> | 2015-11-05 12:55:27 +0100 |
---|---|---|
committer | Jiri Kosina <jkosina@suse.cz> | 2015-11-23 15:46:03 +0100 |
commit | cc8a9d79222c6b259ea9eceef21b94a5610616f0 (patch) | |
tree | ae01b3951f50ae0b2564b2ef05acece3ac54afad | |
parent | dfa0c5faf1b8964fa508373232b4cb597a5c226b (diff) | |
download | linux-cc8a9d79222c6b259ea9eceef21b94a5610616f0.tar.gz linux-cc8a9d79222c6b259ea9eceef21b94a5610616f0.tar.bz2 linux-cc8a9d79222c6b259ea9eceef21b94a5610616f0.zip |
HID: usbhid: discarded events don't abort idleness
If an event is discarded the device stays idle. Just reverse the order of
check and marking busy.
Found by code inspection.
Signed-off-by: Oliver Neukum <oneukum@suse.com>
Signed-off-by: Jiri Kosina <jkosina@suse.cz>
-rw-r--r-- | drivers/hid/usbhid/hid-core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/hid/usbhid/hid-core.c b/drivers/hid/usbhid/hid-core.c index 36712e9f56c2..19a4364c9085 100644 --- a/drivers/hid/usbhid/hid-core.c +++ b/drivers/hid/usbhid/hid-core.c @@ -274,10 +274,10 @@ static void hid_irq_in(struct urb *urb) switch (urb->status) { case 0: /* success */ - usbhid_mark_busy(usbhid); usbhid->retry_delay = 0; if ((hid->quirks & HID_QUIRK_ALWAYS_POLL) && !hid->open) break; + usbhid_mark_busy(usbhid); if (!test_bit(HID_RESUME_RUNNING, &usbhid->iofl)) { hid_input_report(urb->context, HID_INPUT_REPORT, urb->transfer_buffer, |