usb_reset_device (9) - Linux Man Pages
usb_reset_device: warn interface drivers and perform a USB port reset
usb_reset_device - warn interface drivers and perform a USB port reset
int usb_reset_device(struct usb_device
- device to reset (not in SUSPENDED or NOTATTACHED state)
The caller must own the device lock. For example, it's safe to use this from a driver probe routine after downloading new firmware. For calls that might not occur during probe, drivers should lock the device using usb_lock_device_for_reset.
If an interface is currently being probed or disconnected, we assume its driver knows how to handle resets. For all other interfaces, if the driver doesn't have pre_reset and post_reset methods then we attempt to unbind it and rebind afterward.