On 11/18/2011 07:14 AM, Sarah Sharp wrote:
Hi Andiry,
Is this necessary for all NEC uPD720200 chipsets, or just the one in
Julian's board? I have one of those chipsets in my x220 laptop, so I
can double check if you don't know.
I'm not sure. I have a NEC uPD720200 external controller, but I can't
test the patch because the host fail to resume on my platform and
re-initialize during resume without the quirk. So it would be great if
you can double check.
Thanks,
Andiry
On Thu, Nov 17, 2011 at 01:07:44PM +0800, Andiry Xu wrote:
Julian Sikorski reports NEC uPD720200 does not work stable after suspend
and resume. Re-initialize the host in xhci_resume().
Reported-by: Julian Sikorski<belegdol@xxxxxxxxx>
Signed-off-by: Andiry Xu<andiry.xu@xxxxxxx>
Tested-by: Julian Sikorski<belegdol@xxxxxxxxx>
---
drivers/usb/host/xhci-pci.c | 7 ++++++-
1 files changed, 6 insertions(+), 1 deletions(-)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index 9f51f88..f0ef354 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
@@ -32,6 +32,8 @@
#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" */
@@ -73,8 +75,11 @@ 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;
--
1.7.4.1
--
To unsubscribe from this list: send the line "unsubscribe linux-usb" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html