1USB_QUEUE_RESET_DEVI(9)          USB Core APIs         USB_QUEUE_RESET_DEVI(9)
2
3
4

NAME

6       usb_queue_reset_device - Reset a USB device from an atomic context
7

SYNOPSIS

9       void usb_queue_reset_device(struct usb_interface * iface);
10

ARGUMENTS

12       iface
13           USB interface belonging to the device to reset
14

DESCRIPTION

16       This function can be used to reset a USB device from an atomic context,
17       where usb_reset_device won't work (as it blocks).
18
19       Doing a reset via this method is functionally equivalent to calling
20       usb_reset_device, except for the fact that it is delayed to a
21       workqueue. This means that any drivers bound to other interfaces might
22       be unbound, as well as users from usbfs in user space.
23

CORNER CASES

25       - Scheduling two resets at the same time from two different drivers
26       attached to two different interfaces of the same device is possible;
27       depending on how the driver attached to each interface handles
28       ->pre_reset, the second reset might happen or not.
29
30       - If the reset is delayed so long that the interface is unbound from
31       its driver, the reset will be skipped.
32
33       - This function can be called during .probe. It can also be called
34       during .disconnect, but doing so is pointless because the reset will
35       not occur. If you really want to reset the device during .disconnect,
36       call usb_reset_device directly -- but watch out for nested unbinding
37       issues!
38
40Kernel Hackers Manual 3.10         June 2019           USB_QUEUE_RESET_DEVI(9)
Impressum