diff options
Diffstat (limited to 'drivers/usb/host/xhci-pci.c')
-rw-r--r-- | drivers/usb/host/xhci-pci.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index f0640b7a1c42..48672fac7ff3 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c | |||
@@ -48,6 +48,7 @@ | |||
48 | #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f | 48 | #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI 0xa12f |
49 | #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f | 49 | #define PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI 0x9d2f |
50 | #define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8 | 50 | #define PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI 0x0aa8 |
51 | #define PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI 0x1aa8 | ||
51 | 52 | ||
52 | static const char hcd_name[] = "xhci_hcd"; | 53 | static const char hcd_name[] = "xhci_hcd"; |
53 | 54 | ||
@@ -155,7 +156,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) | |||
155 | (pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI || | 156 | (pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_LP_XHCI || |
156 | pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI || | 157 | pdev->device == PCI_DEVICE_ID_INTEL_SUNRISEPOINT_H_XHCI || |
157 | pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || | 158 | pdev->device == PCI_DEVICE_ID_INTEL_CHERRYVIEW_XHCI || |
158 | pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI)) { | 159 | pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_M_XHCI || |
160 | pdev->device == PCI_DEVICE_ID_INTEL_BROXTON_B_XHCI)) { | ||
159 | xhci->quirks |= XHCI_PME_STUCK_QUIRK; | 161 | xhci->quirks |= XHCI_PME_STUCK_QUIRK; |
160 | } | 162 | } |
161 | if (pdev->vendor == PCI_VENDOR_ID_INTEL && | 163 | if (pdev->vendor == PCI_VENDOR_ID_INTEL && |
@@ -302,6 +304,7 @@ static void xhci_pci_remove(struct pci_dev *dev) | |||
302 | struct xhci_hcd *xhci; | 304 | struct xhci_hcd *xhci; |
303 | 305 | ||
304 | xhci = hcd_to_xhci(pci_get_drvdata(dev)); | 306 | xhci = hcd_to_xhci(pci_get_drvdata(dev)); |
307 | xhci->xhc_state |= XHCI_STATE_REMOVING; | ||
305 | if (xhci->shared_hcd) { | 308 | if (xhci->shared_hcd) { |
306 | usb_remove_hcd(xhci->shared_hcd); | 309 | usb_remove_hcd(xhci->shared_hcd); |
307 | usb_put_hcd(xhci->shared_hcd); | 310 | usb_put_hcd(xhci->shared_hcd); |