aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorElric Fu <elricfu1@gmail.com>2012-03-29 03:47:50 -0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-04-22 19:21:41 -0400
commit017652f31965665b963c5419a2a46762e0853584 (patch)
tree3e2398818af1f28d55a5e017d160b6ebe129ad9a
parent4701517be3f6950c7120f213c50270eff9ebe169 (diff)
xHCI: add XHCI_RESET_ON_RESUME quirk for VIA xHCI host
commit 457a4f61f9bfc3ae76e5b49f30f25d86bb696f67 upstream. The suspend operation of VIA xHCI host have some issues and hibernate operation works fine, so The XHCI_RESET_ON_RESUME quirk is added for it. This patch should base on "xHCI: Don't write zeroed pointer to xHC registers" that is released by Sarah. Otherwise, the host system error will ocurr in the hibernate operation process. This should be backported to stable kernels as old as 2.6.37, that contain the commit c877b3b2ad5cb9d4fe523c5496185cc328ff3ae9 "xhci: Add reset on resume quirk for asrock p67 host". Signed-off-by: Elric Fu <elricfu1@gmail.com> Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/host/xhci-pci.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 50e7156a7d8..4509f69d670 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -145,6 +145,8 @@ static int xhci_pci_setup(struct usb_hcd *hcd)
145 xhci->quirks |= XHCI_RESET_ON_RESUME; 145 xhci->quirks |= XHCI_RESET_ON_RESUME;
146 xhci_dbg(xhci, "QUIRK: Resetting on resume\n"); 146 xhci_dbg(xhci, "QUIRK: Resetting on resume\n");
147 } 147 }
148 if (pdev->vendor == PCI_VENDOR_ID_VIA)
149 xhci->quirks |= XHCI_RESET_ON_RESUME;
148 150
149 /* Make sure the HC is halted. */ 151 /* Make sure the HC is halted. */
150 retval = xhci_halt(xhci); 152 retval = xhci_halt(xhci);