USB: documentation update for the pre_reset method
This patch (as1459) updates the documentation for the pre_reset method in struct usb_driver. When a driver is notified of an impending reset, it must cancel all outstanding I/O and not start any new I/O until it has been notified that the reset is complete. As far as I know, most existing drivers that implement pre_reset do this now. The major exceptions appear to be the SpeedTouch and CDC-WDM drivers. Signed-off-by: Alan Stern <stern@rowland.harvard.edu> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
This commit is contained in:
Родитель
15b2f3204a
Коммит
6498d9db6d
|
@ -95,9 +95,11 @@ pre_reset
|
||||||
|
|
||||||
int (*pre_reset)(struct usb_interface *intf);
|
int (*pre_reset)(struct usb_interface *intf);
|
||||||
|
|
||||||
Another driver or user space is triggering a reset on the device which
|
A driver or user space is triggering a reset on the device which
|
||||||
contains the interface passed as an argument. Cease IO and save any
|
contains the interface passed as an argument. Cease IO, wait for all
|
||||||
device state you need to restore.
|
outstanding URBs to complete, and save any device state you need to
|
||||||
|
restore. No more URBs may be submitted until the post_reset method
|
||||||
|
is called.
|
||||||
|
|
||||||
If you need to allocate memory here, use GFP_NOIO or GFP_ATOMIC, if you
|
If you need to allocate memory here, use GFP_NOIO or GFP_ATOMIC, if you
|
||||||
are in atomic context.
|
are in atomic context.
|
||||||
|
|
|
@ -806,8 +806,10 @@ struct usbdrv_wrap {
|
||||||
* @resume: Called when the device is being resumed by the system.
|
* @resume: Called when the device is being resumed by the system.
|
||||||
* @reset_resume: Called when the suspended device has been reset instead
|
* @reset_resume: Called when the suspended device has been reset instead
|
||||||
* of being resumed.
|
* of being resumed.
|
||||||
* @pre_reset: Called by usb_reset_device() when the device
|
* @pre_reset: Called by usb_reset_device() when the device is about to be
|
||||||
* is about to be reset.
|
* reset. This routine must not return until the driver has no active
|
||||||
|
* URBs for the device, and no more URBs may be submitted until the
|
||||||
|
* post_reset method is called.
|
||||||
* @post_reset: Called by usb_reset_device() after the device
|
* @post_reset: Called by usb_reset_device() after the device
|
||||||
* has been reset
|
* has been reset
|
||||||
* @id_table: USB drivers use ID table to support hotplugging.
|
* @id_table: USB drivers use ID table to support hotplugging.
|
||||||
|
|
Загрузка…
Ссылка в новой задаче