diff options
author | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2011-12-01 13:30:16 -0500 |
---|---|---|
committer | Sarah Sharp <sarah.a.sharp@linux.intel.com> | 2011-12-01 13:41:40 -0500 |
commit | 0de13500ad1d8a66b7dc1e7fa517ea15a2625c9e (patch) | |
tree | 5944030800044bd7338b50b853f49de8f344d9dd | |
parent | 158886cd2cf4599e04f9b7e10cb767f5f39b14f1 (diff) |
Revert "xHCI: reset-on-resume quirk for NEC uPD720200"
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>
-rw-r--r-- | drivers/usb/host/xhci-pci.c | 7 |
1 files changed, 1 insertions, 6 deletions
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index d2a7332daca4..ef98b38626fb 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c | |||
@@ -33,8 +33,6 @@ | |||
33 | #define PCI_VENDOR_ID_ETRON 0x1b6f | 33 | #define PCI_VENDOR_ID_ETRON 0x1b6f |
34 | #define PCI_DEVICE_ID_ASROCK_P67 0x7023 | 34 | #define PCI_DEVICE_ID_ASROCK_P67 0x7023 |
35 | 35 | ||
36 | #define PCI_DEVICE_ID_NEC_uPD720200 0x0194 | ||
37 | |||
38 | static const char hcd_name[] = "xhci_hcd"; | 36 | static const char hcd_name[] = "xhci_hcd"; |
39 | 37 | ||
40 | /* called after powerup, by probe or system-pm "wakeup" */ | 38 | /* 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) | |||
76 | pdev->revision); | 74 | pdev->revision); |
77 | } | 75 | } |
78 | 76 | ||
79 | if (pdev->vendor == PCI_VENDOR_ID_NEC) { | 77 | if (pdev->vendor == PCI_VENDOR_ID_NEC) |
80 | xhci->quirks |= XHCI_NEC_HOST; | 78 | xhci->quirks |= XHCI_NEC_HOST; |
81 | if (pdev->device == PCI_DEVICE_ID_NEC_uPD720200) | ||
82 | xhci->quirks |= XHCI_RESET_ON_RESUME; | ||
83 | } | ||
84 | 79 | ||
85 | if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96) | 80 | if (pdev->vendor == PCI_VENDOR_ID_AMD && xhci->hci_version == 0x96) |
86 | xhci->quirks |= XHCI_AMD_0x96_HOST; | 81 | xhci->quirks |= XHCI_AMD_0x96_HOST; |