forked from luck/tmp_suning_uos_patched
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: Alan Stern <stern@rowland.harvard.edu> CC: Oliver Neukum <oliver@neukum.org> Signed-off-by: Jiri Kosina <jkosina@suse.cz>
This commit is contained in:
parent
f2b5264d4f
commit
d4150c8f3d
@ -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))) {
|
||||
|
Loading…
Reference in New Issue
Block a user