On Fri, 2016-03-18 at 12:36 -0400, Alan Stern wrote: > @@ -1584,10 +1581,8 @@ static int hid_resume(struct usb_interfa > static int hid_reset_resume(struct usb_interface *intf) > { > struct hid_device *hid = usb_get_intfdata(intf); > - struct usbhid_device *usbhid = hid->driver_data; > int status; > > - clear_bit(HID_SUSPENDED, &usbhid->iofl); > status = hid_post_reset(intf); > if (status >= 0 && hid->driver && hid->driver->reset_resume) { > int ret = hid->driver->reset_resume(hid); Almost. In case of reset_resume() it makes no sense to still clear a halt or execute a reset that had been ordered. The corresponding flags should be cleared. And now that I think of it, if while restarting IO an old error condition is detected shouldn't the restart wait for the error to be handled? Regards Oliver -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html