Commit d4150c8f authored by Alan Stern's avatar Alan Stern Committed by Jiri Kosina
Browse files

HID: usbhid: check for suspend or reset before restarting



This patch (as1596) improves the queue-restart logic in usbhid by
checking to see if the device is suspended or a reset is about to
occur.  There's no point submitting an URB if either of those is
true.

Signed-off-by: default avatarAlan Stern <stern@rowland.harvard.edu>
CC: Oliver Neukum <oliver@neukum.org>
Signed-off-by: default avatarJiri Kosina <jkosina@suse.cz>
parent f2b5264d
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -207,7 +207,8 @@ static int usbhid_restart_out_queue(struct usbhid_device *usbhid)
	int kicked;
	int r;

	if (!hid)
	if (!hid || test_bit(HID_RESET_PENDING, &usbhid->iofl) ||
			test_bit(HID_SUSPENDED, &usbhid->iofl))
		return 0;

	if ((kicked = (usbhid->outhead != usbhid->outtail))) {
@@ -245,7 +246,8 @@ static int usbhid_restart_ctrl_queue(struct usbhid_device *usbhid)
	int r;

	WARN_ON(hid == NULL);
	if (!hid)
	if (!hid || test_bit(HID_RESET_PENDING, &usbhid->iofl) ||
			test_bit(HID_SUSPENDED, &usbhid->iofl))
		return 0;

	if ((kicked = (usbhid->ctrlhead != usbhid->ctrltail))) {