lkml.org 
[lkml]   [2015]   [Apr]   [2]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
/
From
Subject[PATCH 0/5] usb: xhci: fixes for OTG/DRD use
Date
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



\
 
 \ /
  Last update: 2015-04-02 15:01    [W:0.197 / U:0.208 seconds]
©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site