aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/usb/host/ohci-pci.c12
1 files changed, 10 insertions, 2 deletions
diff --git a/drivers/usb/host/ohci-pci.c b/drivers/usb/host/ohci-pci.c
index d84d6f0314f9..ad8166c681e2 100644
--- a/drivers/usb/host/ohci-pci.c
+++ b/drivers/usb/host/ohci-pci.c
@@ -181,10 +181,18 @@ static int ohci_quirk_amd700(struct usb_hcd *hcd)
181 */ 181 */
182static int ohci_quirk_nvidia_shutdown(struct usb_hcd *hcd) 182static int ohci_quirk_nvidia_shutdown(struct usb_hcd *hcd)
183{ 183{
184 struct pci_dev *pdev = to_pci_dev(hcd->self.controller);
184 struct ohci_hcd *ohci = hcd_to_ohci(hcd); 185 struct ohci_hcd *ohci = hcd_to_ohci(hcd);
185 186
186 ohci->flags |= OHCI_QUIRK_SHUTDOWN; 187 /* Evidently nVidia fixed their later hardware; this is a guess at
187 ohci_dbg(ohci, "enabled nVidia shutdown quirk\n"); 188 * the changeover point.
189 */
190#define PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB 0x026d
191
192 if (pdev->device < PCI_DEVICE_ID_NVIDIA_NFORCE_MCP51_USB) {
193 ohci->flags |= OHCI_QUIRK_SHUTDOWN;
194 ohci_dbg(ohci, "enabled nVidia shutdown quirk\n");
195 }
188 196
189 return 0; 197 return 0;
190} 198}