aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/usb/host/xhci-pci.c
diff options
context:
space:
mode:
Diffstat (limited to 'drivers/usb/host/xhci-pci.c')
-rw-r--r--drivers/usb/host/xhci-pci.c6
1 files changed, 6 insertions, 0 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 01c57055c0c5..a9515265db4d 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -248,6 +248,11 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
248 if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241) 248 if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
249 xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7; 249 xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
250 250
251 if ((pdev->vendor == PCI_VENDOR_ID_BROADCOM ||
252 pdev->vendor == PCI_VENDOR_ID_CAVIUM) &&
253 pdev->device == 0x9026)
254 xhci->quirks |= XHCI_RESET_PLL_ON_DISCONNECT;
255
251 if (xhci->quirks & XHCI_RESET_ON_RESUME) 256 if (xhci->quirks & XHCI_RESET_ON_RESUME)
252 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks, 257 xhci_dbg_trace(xhci, trace_xhci_dbg_quirks,
253 "QUIRK: Resetting on resume"); 258 "QUIRK: Resetting on resume");
@@ -380,6 +385,7 @@ static void xhci_pci_remove(struct pci_dev *dev)
380 if (xhci->shared_hcd) { 385 if (xhci->shared_hcd) {
381 usb_remove_hcd(xhci->shared_hcd); 386 usb_remove_hcd(xhci->shared_hcd);
382 usb_put_hcd(xhci->shared_hcd); 387 usb_put_hcd(xhci->shared_hcd);
388 xhci->shared_hcd = NULL;
383 } 389 }
384 390
385 /* Workaround for spurious wakeups at shutdown with HSW */ 391 /* Workaround for spurious wakeups at shutdown with HSW */