linux-sg2042/drivers
Alan Stern e9df41c5c5 USB: make HCDs responsible for managing endpoint queues
This patch (as954) implements a suggestion of David Brownell's.  Now
the host controller drivers are responsible for linking and unlinking
URBs to/from their endpoint queues.  This eliminates the possiblity of
strange situations where usbcore thinks an URB is linked but the HCD
thinks it isn't.  It also means HCDs no longer have to check for URBs
being dequeued before they were fully enqueued.

In addition to the core changes, this requires changing every host
controller driver and the root-hub URB handler.  For the most part the
required changes are fairly small; drivers have to call
usb_hcd_link_urb_to_ep() in their urb_enqueue method,
usb_hcd_check_unlink_urb() in their urb_dequeue method, and
usb_hcd_unlink_urb_from_ep() before giving URBs back.  A few HCDs make
matters more complicated by the way they split up the flow of control.

In addition some method interfaces get changed.  The endpoint argument
for urb_enqueue is now redundant so it is removed.  The unlink status
is required by usb_hcd_check_unlink_urb(), so it has been added to
urb_dequeue.

Signed-off-by: Alan Stern <stern@rowland.harvard.edu>
CC: David Brownell <david-b@pacbell.net>
CC: Olav Kongas <ok@artecdesign.ee>
CC: Tony Olech <tony.olech@elandigitalsystems.com>
CC: Yoshihiro Shimoda <shimoda.yoshihiro@renesas.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
2007-10-12 14:55:10 -07:00
..
acorn/char Remove the arm26 port 2007-07-31 15:39:39 -07:00
acpi Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2007-10-11 19:20:44 -07:00
amba
ata Merge branch 'upstream-fixes' of master.kernel.org:/pub/scm/linux/kernel/git/jgarzik/libata-dev 2007-10-11 21:47:20 -07:00
atm [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
auxdisplay cfag12864b fix 2007-08-22 19:52:46 -07:00
base Driver core: fix SYSF_DEPRECATED breakage for nested classdevs 2007-10-07 16:42:22 -07:00
block Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
bluetooth [Bluetooth] Add missing stat.byte_rx counter modification 2007-09-09 08:39:27 +02:00
cdrom [POWERPC] iSeries: Move detection of virtual cdroms 2007-10-11 20:40:47 +10:00
char Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
clocksource x86_64: fix typo in acpi_pm.c 2007-07-21 18:37:12 -07:00
connector [NET]: make netlink user -> kernel interface synchronious 2007-10-10 21:15:29 -07:00
cpufreq
crypto [CRYPTO] sha: Add header file for SHA definitions 2007-10-10 16:55:50 -07:00
dio
dma [IOAT]: ioatdma needs to to play nice in a multi-dma-client world 2007-08-26 18:35:40 -07:00
edac drivers/edac: fix e752x correct return code 2007-09-11 17:21:19 -07:00
eisa
fc4
firewire firewire: point to migration document 2007-10-07 13:48:41 +02:00
firmware drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
hid Add some help texts to recently-introduced kconfig items 2007-08-18 09:52:50 -07:00
hwmon drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
i2c i2c-algo-bit: Read block data bugfix 2007-09-09 22:29:14 +02:00
ide Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6 2007-10-11 19:20:44 -07:00
ieee1394 [NET]: Move hardware header operations out of netdevice. 2007-10-10 16:52:52 -07:00
infiniband Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband 2007-10-11 19:43:13 -07:00
input drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
isdn [ISDN]: Change I4L to use alloc_netdev(). 2007-10-10 16:54:57 -07:00
kvm KVM: Fix virtualization menu help text 2007-09-22 12:55:18 -07:00
leds leds: Update Cobalt Qube series front LED support 2007-10-11 22:24:00 +01:00
lguest fix modules oopsing in lguest guests 2007-09-25 08:51:04 -07:00
macintosh [POWERPC] adbhid: Enable KEY_FN key reporting 2007-09-22 14:49:21 +10:00
mca
md Drop 'size' argument from bio_endio and bi_end_io 2007-10-10 09:25:57 +02:00
media Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
message [NET]: Nuke SET_MODULE_OWNER macro. 2007-10-10 16:51:13 -07:00
mfd
misc Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
mmc mmc: don't use weight32() 2007-10-11 19:09:08 +02:00
mtd [POWERPC] Cleanups for physmap_of.c (v2) 2007-09-20 07:37:16 -05:00
net [TG3]: Fix APE induced regression 2007-10-11 22:17:20 -07:00
nubus
of
oprofile
parisc [NET]: Make the device list and device lookups per namespace. 2007-10-10 16:49:10 -07:00
parport parport_pc locking fix 2007-07-31 15:39:37 -07:00
pci i386: move pci 2007-10-11 11:16:36 +02:00
pcmcia pcmcia: give socket time to power down 2007-07-31 15:39:38 -07:00
pnp drivers/firmware: const-ify DMI API and internals 2007-10-09 20:22:20 -04:00
power [PATCH] missing null termination in power supply uevent 2007-09-21 01:22:23 +04:00
ps3
rapidio
rtc rtc: rtc-ds1553.c should use resource_size_t for base address 2007-09-19 11:24:17 -07:00
s390 Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
sbus Videopix Frame Grabber: Fix unreleased lock in vfc_debug() 2007-07-31 15:39:43 -07:00
scsi Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6 2007-10-11 19:40:14 -07:00
serial Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
sh
sn
spi spi_mpc83xx: hang fix 2007-09-11 17:21:19 -07:00
ssb [SSB]: Sparse fixes. 2007-10-10 16:52:21 -07:00
tc
telephony
uio
usb USB: make HCDs responsible for managing endpoint queues 2007-10-12 14:55:10 -07:00
video Merge branch 'master' of git://git.kernel.org/pub/scm/linux/kernel/git/paulus/powerpc 2007-10-11 21:55:47 -07:00
w1 missing null termination in one wire uevent 2007-09-25 08:51:04 -07:00
xen xenbus_xs.c: fix a use-after-free 2007-07-26 11:35:17 -07:00
zorro zorro: Make sysfs config attribute read-only 2007-08-22 19:52:45 -07:00
Kconfig [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00
Makefile [SSB]: add Sonics Silicon Backplane bus support 2007-10-10 16:51:36 -07:00