On Do, 2018-06-14 at 13:17 +0200, Sebastian Andrzej Siewior wrote: > @@ -964,6 +975,7 @@ static void wdm_disconnect(struct usb_interface *intf) > mutex_lock(&desc->wlock); > kill_urbs(desc); > cancel_work_sync(&desc->rxwork); > + cancel_work_sync(&desc->service_outs_intr); > mutex_unlock(&desc->wlock); > mutex_unlock(&desc->rlock); > > @@ -1065,6 +1077,7 @@ static int wdm_pre_reset(struct usb_interface *intf) > mutex_lock(&desc->wlock); > kill_urbs(desc); > cancel_work_sync(&desc->rxwork); > + cancel_work_sync(&desc->service_outs_intr); > return 0; Almost good. I am afraid the work also needs to be canceled in wdm_suspend() 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