On Tue, 2015-07-28 at 15:36 +0800, Hayes Wang wrote: > The device reset is necessary if the hw becomes abnormal and stops > transmitting packets. You are not the first one to face this problem. Hence there is a helper: * usb_queue_reset_device - Reset a USB device from an atomic context * @iface: USB interface belonging to the device to reset * * This function can be used to reset a USB device from an atomic * context, where usb_reset_device() won't work (as it blocks). Please use it if you can. Your version for example is buggy. It will oops if you unplug the device while a reset is scheduled. 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