Skip to content

Commit d44238d

Browse files
jareguerogregkh
authored andcommitted
usb: xhci: Fix problem with xhci resume from suspend
I have a ASUS PN51 S mini pc that has two xhci devices. One from AMD, and other from ASMEDIA. The one from ASMEDIA have problems when resume from suspend, and keep broken until unplug the power cord. I use this kernel parameter: xhci-hcd.quirks=128 and then it works ok. I make a path to reset only the ASMEDIA xhci. Signed-off-by: Jose Alberto Reguero <[email protected]> Cc: stable <[email protected]> Link: https://lore.kernel.org/r/[email protected] Signed-off-by: Greg Kroah-Hartman <[email protected]>
1 parent 6c4e1ef commit d44238d

File tree

1 file changed

+5
-0
lines changed

1 file changed

+5
-0
lines changed

drivers/usb/host/xhci-pci.c

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -79,6 +79,7 @@
7979
#define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142
8080
#define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
8181
#define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
82+
#define PCI_DEVICE_ID_ASMEDIA_3042_XHCI 0x3042
8283
#define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242
8384

8485
#define PCI_DEVICE_ID_CADENCE 0x17CD
@@ -451,6 +452,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
451452
pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI)
452453
xhci->quirks |= XHCI_ASMEDIA_MODIFY_FLOWCONTROL;
453454

455+
if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
456+
pdev->device == PCI_DEVICE_ID_ASMEDIA_3042_XHCI)
457+
xhci->quirks |= XHCI_RESET_ON_RESUME;
458+
454459
if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
455460
xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
456461

0 commit comments

Comments
 (0)