| usb_reset_configuration(9) - phpMan
USB_RESET_CONFIGURAT(9) USB Core APIs USB_RESET_CONFIGURAT(9)
NAME
usb_reset_configuration - lightweight device reset
SYNOPSIS
int usb_reset_configuration(struct usb_device * dev);
ARGUMENTS
dev
the device whose configuration is being reset
DESCRIPTION
This issues a standard SET_CONFIGURATION request to the device using the current
configuration. The effect is to reset most USB-related state in the device, including
interface altsettings (reset to zero), endpoint halts (cleared), and endpoint state (only
for bulk and interrupt endpoints). Other usbcore state is unchanged, including bindings of
usb device drivers to interfaces.
Because this affects multiple interfaces, avoid using this with composite
(multi-interface) devices. Instead, the driver for each interface may use
usb_set_interface on the interfaces it claims. Be careful though; some devices don't
support the SET_INTERFACE request, and others won't reset all the interface state (notably
endpoint state). Resetting the whole configuration would affect other drivers' interfaces.
The caller must own the device lock.
RETURN
Zero on success, else a negative error code.
COPYRIGHT
Kernel Hackers Manual 4.8. January 2017 USB_RESET_CONFIGURAT(9)
|