Am Dienstag, den 13.08.2019, 12:26 +0800 schrieb Hillf Danton: > [respin with the mess in Cc list cleaned up] > Followup of commit e3e14de50dff ("HID: fix start/stop cycle in usbhid driver") > > --- a/drivers/hid/usbhid/hid-core.c > +++ b/drivers/hid/usbhid/hid-core.c > @@ -1214,6 +1214,8 @@ static void usbhid_stop(struct hid_devic > > hid->claimed = 0; > > + if (!usbhid->urbin) /* freeing buffers only once */ > + return; > usb_free_urb(usbhid->urbin); > usb_free_urb(usbhid->urbctrl); > usb_free_urb(usbhid->urbout); This looks rather suspicious. Why is stop() called multiple times? Do we have a refcounting issue? If not, what controls locking? Regards Oliver