1USB_RESET_CONFIGURAT(9) USB Core APIs USB_RESET_CONFIGURAT(9)
2
3
4
6 usb_reset_configuration - lightweight device reset
7
9 int usb_reset_configuration(struct usb_device * dev);
10
12 dev
13 the device whose configuration is being reset
14
16 This issues a standard SET_CONFIGURATION request to the device using
17 the current configuration. The effect is to reset most USB-related
18 state in the device, including interface altsettings (reset to zero),
19 endpoint halts (cleared), and endpoint state (only for bulk and
20 interrupt endpoints). Other usbcore state is unchanged, including
21 bindings of usb device drivers to interfaces.
22
23 Because this affects multiple interfaces, avoid using this with
24 composite (multi-interface) devices. Instead, the driver for each
25 interface may use usb_set_interface on the interfaces it claims. Be
26 careful though; some devices don´t support the SET_INTERFACE request,
27 and others won´t reset all the interface state (notably endpoint
28 state). Resetting the whole configuration would affect other drivers´
29 interfaces.
30
31 The caller must own the device lock.
32
33 Returns zero on success, else a negative error code.
34
36Kernel Hackers Manual 2.6. June 2019 USB_RESET_CONFIGURAT(9)