[PATCH 0/5] usb: xhci: fixes for OTG/DRD use

From: Roger Quadros
Date: Thu Apr 02 2015 - 08:35:33 EST


Hi,

While testing for OTG/DRD [1], I encountered a couple of
problems with the XHCI driver.

The first 2 patches clean up the HCD allocation logic as we want
both primary and shared HCDs to be allocated before the
primary HCD registers for OTG use. That's the only way the OTG
core will know that it needs to wait for the shared HCD to
register before firing up the OTG state machine. We let the HCD
core allocate memory for the xhci private structure.

For OTG/DRD case we want usb_add/remove_hcd() to work reliably
when called repeatedly. Patches 3 and 4 fix issues with
usb_add/remove_hcd() on xhci.

The last patch fixes an issue with suspend/resume.

[1] - OTG core support
http://thread.gmane.org/gmane.linux.kernel/1911689

cheers,
-roger

Roger Quadros (5):
usb: xhci: cleanup xhci_hcd allocation
usb: xhci: plat: Create both HCDs before adding them
usb: xhci: Allow usb_add/remove_hcd() to be called repeatedly
usb: xhci: fix xhci locking up during hcd remove
usb: xhci: Fix suspend/resume when used with OTG core

drivers/usb/host/xhci-pci.c | 18 +++++++++---------
drivers/usb/host/xhci-plat.c | 43 ++++++++++++++++++++++---------------------
drivers/usb/host/xhci-ring.c | 5 ++++-
drivers/usb/host/xhci.c | 43 +++++++++++++++++++++++--------------------
drivers/usb/host/xhci.h | 19 +++++++++++++++++--
5 files changed, 75 insertions(+), 53 deletions(-)

--
2.1.0

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/