Hi Greg, Here are some xHCI patches that I hope can be included in 2.6.39. They include some cleanups in the xHCI driver and USB core, the isochronous bug fixes you said were too late to make it into 2.6.38, and (finally!) USB 3.0 hub support. The hub support patches rework the xHCI driver to register two roothubs: a USB 2.0 roothub and a USB 3.0 roothub. This reflects the behavior of external USB 3.0 hubs, because they actually show up as two USB devices. There was a fair bit of USB core work that needed to go in to support registering two roothubs for one PCI device. Fortunately, those patches have gone through four different revisions, and I've addressed the last of Alan Stern's comments (including the issue with an extern inline function). The patches have passed my stress tests, and have passed Paul Zimmerman's testing with Synopsis USB devices. The full patches will be sent to the linux-usb mailing list. Sarah Sharp The following changes since commit fbf9865c6d96f4a131092d2018056e86113e5cea: Robert Morell (1): USB: ehci: tegra: Align DMA transfers to 32 bytes are available in the git repository at: git+ssh://master.kernel.org/pub/scm/linux/kernel/git/sarah/xhci.git for-usb-next Andiry Xu (2): xHCI: Remove redundant variable in xhci_resume() xHCI: prolong host controller halt time limit John Youn (1): USB 3.0 Hub Changes Paul Zimmerman (1): USB: Add support for SuperSpeed isoc endpoints Sarah Sharp (35): usb: Always return 0 or -EBUSY to the runtime PM core. xhci: Remove old no-op test. USB: Remove bitmap #define from hcd.h USB: Fix usb_add_hcd() checkpatch errors. xhci: Rework port suspend structures for limited ports. xhci: Rename variables and reduce register reads. xhci: Remove references to HC_STATE_HALT. usb: Initialize hcd->state roothubs. xhci: Remove references to HC_STATE_RUNNING. USB: Clear "warm" port reset change. usb: Make USB 3.0 roothub have a SS EP comp descriptor. xhci: Modify check for TT info. xhci: Always use usb_hcd in URB instead of converting xhci_hcd. xhci: Change hcd_priv into a pointer. usb: Make usb_hcd_pci_probe labels more descriptive. usb: Refactor irq enabling out of usb_add_hcd() usb: Change usb_hcd->bandwidth_mutex to a pointer. usb: Store bus type in usb_hcd, not in driver flags. usb: Make core allocate resources per PCI-device. USB: Set usb_hcd->state and flags for shared roothubs. xhci: Index with a port array instead of PORTSC addresses. xhci: Refactor bus suspend state into a struct. xhci: Change xhci_find_slot_id_by_port() API. xhci: Register second xHCI roothub. xhci: Return a USB 3.0 hub descriptor for USB3 roothub. xhci: Limit roothub ports to 15 USB3 & 31 USB2 ports. xhci: Make roothub functions deal with device removal. xhci: Fix re-init on power loss after resume. xhci: Fixes for suspend/resume of shared HCDs. xhci: Return canceled URBs immediately when host is halted. USB: Remove bogus USB_PORT_STAT_SUPER_SPEED symbol. USB: Disable auto-suspend for USB 3.0 hubs. xhci: Update internal dequeue pointers after stalls. xhci: Fix cycle bit calculation during stall handling. xhci: Clean up cycle bit math used during stalls. drivers/staging/usbip/vhci_hcd.c | 4 +- drivers/usb/core/driver.c | 5 + drivers/usb/core/hcd-pci.c | 47 ++++-- drivers/usb/core/hcd.c | 196 +++++++++++++++----- drivers/usb/core/hub.c | 125 +++++++++---- drivers/usb/core/message.c | 22 +- drivers/usb/core/urb.c | 11 +- drivers/usb/gadget/dummy_hcd.c | 4 +- drivers/usb/host/ehci-hub.c | 4 +- drivers/usb/host/imx21-hcd.c | 4 +- drivers/usb/host/isp116x-hcd.c | 6 +- drivers/usb/host/isp1362-hcd.c | 6 +- drivers/usb/host/isp1760-hcd.c | 6 +- drivers/usb/host/ohci-hub.c | 13 +- drivers/usb/host/oxu210hp-hcd.c | 6 +- drivers/usb/host/r8a66597-hcd.c | 5 +- drivers/usb/host/sl811-hcd.c | 6 +- drivers/usb/host/u132-hcd.c | 11 +- drivers/usb/host/xhci-ext-caps.h | 4 +- drivers/usb/host/xhci-hub.c | 392 ++++++++++++++++++++++++++------------ drivers/usb/host/xhci-mem.c | 93 ++++++++- drivers/usb/host/xhci-pci.c | 124 +++++++++++- drivers/usb/host/xhci-ring.c | 195 ++++++++++++++----- drivers/usb/host/xhci.c | 129 +++++++++---- drivers/usb/host/xhci.h | 53 ++++-- drivers/usb/musb/musb_virthub.c | 4 +- drivers/usb/wusbcore/rh.c | 4 +- include/linux/usb/ch11.h | 42 ++++- include/linux/usb/ch9.h | 2 + include/linux/usb/hcd.h | 20 ++- 30 files changed, 1134 insertions(+), 409 deletions(-) -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html