summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Neukum <oneukum@suse.com>2015-11-05 12:55:27 +0100
committerJiri Kosina <jkosina@suse.cz>2015-11-23 15:46:03 +0100
commitcc8a9d79222c6b259ea9eceef21b94a5610616f0 (patch)
treeae01b3951f50ae0b2564b2ef05acece3ac54afad
parentdfa0c5faf1b8964fa508373232b4cb597a5c226b (diff)
downloadlinux-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.c2
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,