usb_reset_composite_device — warn interface drivers and perform a USB port reset
device to reset (not in SUSPENDED or NOTATTACHED state)
interface bound to the driver making the request (optional)
Warns all drivers bound to registered interfaces (using their pre_reset method), performs the port reset, and then lets the drivers know that the reset is over (using their post_reset method).
Return value is the same as for usb_reset_device.
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.