Revert "xHCI: reset-on-resume quirk for NEC uPD720200"
authorSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 1 Dec 2011 18:30:16 +0000 (10:30 -0800)
committerSarah Sharp <sarah.a.sharp@linux.intel.com>
Thu, 1 Dec 2011 18:41:40 +0000 (10:41 -0800)
This reverts commit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa.

The commit added a reset-on-resume quirk because the NEC chipset stopped
responding to commands about 30 minutes after a system resume from
suspend.  We thought it was a chipset issue, but it turns out that the
xHCI driver was zeroing out the link TRB after a successful context
restore during resume.  The host controller would fall off the command
ring sometime later, causing it to not respond to new commands.

The link TRB issue has been fixed with commit
158886cd2cf4599e04f9b7e10cb767f5f39b14f1 "xHCI: fix bug in
xhci_clear_command_ring()", so revert the reset-on-resume quirk, as it's
not necessary.

Commit df711fc9962b9491af2b92bd0d21ecbfefe4e5fa was marked for stable
trees back to 2.6.37, but according to my mail, it has not made it into
Linus' tree or the stable trees yet.

Signed-off-by: Sarah Sharp <sarah.a.sharp@linux.intel.com>
Tested-by: Julian Sikorski <belegdol@gmail.com>
Cc: Andiry Xu <andiry.xu@amd.com>
drivers/usb/host/xhci-pci.c

index d2a7332daca417a38dbcdb74855acaae30ec1089..ef98b38626fbb5910aa6c486aecb856f1f4b7df5 100644 (file)
@@ -33,8 +33,6 @@
 #define PCI_VENDOR_ID_ETRON            0x1b6f
 #define PCI_DEVICE_ID_ASROCK_P67       0x7023
 
-#define PCI_DEVICE_ID_NEC_uPD720200    0x0194
-
 static const char hcd_name[] = "xhci_hcd";
 
 /* called after powerup, by probe or system-pm "wakeup" */
@@ -76,11 +74,8 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
                                pdev->revision);
        }
 
-       if (pdev->vendor == PCI_VENDOR_ID_NEC) {
+       if (pdev->vendor == PCI_VENDOR_ID_NEC)
                xhci->quirks |= XHCI_NEC_HOST;
-               if (pdev->device == PCI_DEVICE_ID_NEC_uPD720200)
-                       xhci->quirks |= XHCI_RESET_ON_RESUME;
-       }
 
        if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96)
                xhci->quirks |= XHCI_AMD_0x96_HOST;