linux/Documentation/usb
Ming Lei 85721d4526 USB: URB documentation: claim complete() will be run with IRQs enabled
There is no good reason to run complete() in hard interrupt
disabled context.

After switch to run complete() in tasklet, we will enable local IRQs
when calling complete() since we can do it at that time.

Even though we still disable IRQs now when calling complete()
in tasklet, the URB documentation is updated to claim complete()
will be run in tasklet context and local IRQs will be enabled, so
that USB drivers can know the change and avoid one deadlock caused
by: assume IRQs disabled in complete() and call spin_lock() to
hold lock which might be acquired in interrupt context.

Current spin_lock() usages in drivers' complete() will be cleaned
up at the same time, and once the cleanup is finished, local IRQs
will be enabled when calling complete() in tasklet.

Also fix description about type of usb_complete_t, and remove the
advice of running completion handler in tasklet for decreasing
system latency.

Cc: Oliver Neukum <oliver@neukum.org>
Acked-by: Alan Stern <stern@rowland.harvard.edu>
Signed-off-by: Ming Lei <ming.lei@canonical.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
2013-08-12 11:43:48 -07:00
..
acm.txt
anchors.txt trivial: Miscellaneous documentation typo fixes 2009-06-12 18:01:47 +02:00
authorization.txt USB: Fix sysfs paths in documentation 2009-09-23 06:46:41 -07:00
bulk-streams.txt USB: Support for allocating USB 3.0 streams. 2010-05-20 13:21:38 -07:00
callbacks.txt USB: documentation update for the pre_reset method 2011-04-29 17:24:29 -07:00
CREDITS
dma.txt doc: fix broken references 2011-09-27 18:08:04 +02:00
dwc3.txt doc: fix a few typos 2012-04-05 17:02:52 -07:00
ehci.txt USB: EHCI: Allow users to override 80% max periodic bandwidth 2011-07-08 14:51:33 -07:00
error-codes.txt USB: report submission of active URBs 2012-11-11 18:10:46 -08:00
functionfs.txt FunctionFS: enable multiple functions 2012-05-14 09:25:44 -07:00
gadget_configfs.txt Documentation/usb: gadget_configfs 2013-06-17 13:41:57 -07:00
gadget_hid.txt USB: Documentation: Use correct character in gadget_hid.txt 2011-07-01 14:43:27 -07:00
gadget_multi.txt USB: gadget: g_multi: added documentation and INF files 2010-08-10 14:35:37 -07:00
gadget_printer.txt
gadget_serial.txt USB: gadget: g_serial: INF file updated 2010-08-10 14:35:37 -07:00
hotplug.txt Finally eradicate CONFIG_HOTPLUG 2013-06-03 14:20:18 -07:00
iuu_phoenix.txt
linux-cdc-acm.inf USB: linux-cdc-acm.inf: add support for the acm_ms gadget 2011-11-29 09:59:29 +09:00
linux.inf USB: gadget: g_multi: fixed vendor and product ID in inf files 2011-04-29 16:45:22 -07:00
mass-storage.txt usb: gadget: Remove File-backed Storage Gadget (g_file_storage). 2012-11-08 16:01:04 +02:00
misc_usbsevseg.txt USB: Added driver for a Delcom USB 7-segment LED Display 2008-10-17 14:40:51 -07:00
mtouchusb.txt Documentation: Fix Broken URL "freshmeat" 2012-02-21 11:43:45 +01:00
ohci.txt
persist.txt usb: add decriptor of persist fail for some morph usb devices 2012-08-10 12:06:39 -07:00
power-management.txt USB: remove CONFIG_USB_SUSPEND from Documentation 2013-03-28 14:45:56 -07:00
proc_usb_info.txt Documentation: Fix typo in proc_usb_info.txt 2012-02-21 11:40:39 +01:00
rio.txt
URB.txt USB: URB documentation: claim complete() will be run with IRQs enabled 2013-08-12 11:43:48 -07:00
usb-help.txt
usb-serial.txt Documentation: update broken web addresses. 2010-08-04 15:21:40 +02:00
usbmon.txt usb/usbmon: correct the data interpretation of usbmon's output 2012-04-06 13:54:00 -07:00
wusb-cbaf doc: fix a few typos 2012-04-05 17:02:52 -07:00
WUSB-Design-overview.txt Documentation/: it's -> its where appropriate 2010-04-23 02:09:52 +02:00