From 2fdfd5b8eea6f5ffe961a75cf868e51b3432f4df Mon Sep 17 00:00:00 2001 From: LeoLiu-oc Date: Wed, 7 Apr 2021 14:26:15 +0800 Subject: [PATCH] xhci: fix issue with resume from system Sx state zhaoxin inclusion category: feature bugzilla: https://bugzilla.openeuler.org/show_bug.cgi?id=19 CVE: NA ---------------------------------------------------------------- On Zhaoxin ZX-100 project, xHCI can't work normally after resume from system Sx state. To fix this issue, when resume from system sx state, reinitialize xHCI instead of restore. The patch is scheduled to be submitted to the kernel mainline in 2021. Signed-off-by: LeoLiu-oc Reviewed-by: Hanjun Guo Reviewed-by: LeoLiu-oc Signed-off-by: Cheng Jian --- drivers/usb/host/xhci-pci.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c index b40ed9d48bf9..164f4d6350fe 100644 --- a/drivers/usb/host/xhci-pci.c +++ b/drivers/usb/host/xhci-pci.c @@ -247,6 +247,9 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci) if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241) xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7; + if (pdev->vendor == PCI_VENDOR_ID_ZHAOXIN && pdev->device == 0x9202) + xhci->quirks |= XHCI_RESET_ON_RESUME; + if ((pdev->vendor == PCI_VENDOR_ID_BROADCOM || pdev->vendor == PCI_VENDOR_ID_CAVIUM) && pdev->device == 0x9026) -- GitLab