PATCH: Fix problem with xhci resume from suspend

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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 <jose.alberto.reguero@xxxxxxxxx>

diff -ur linux-6.10.8/drivers/usb/host/xhci-pci.c
linux-6.10.8.new/drivers/usb/host/xhci-pci.c
--- linux-6.10.8/drivers/usb/host/xhci-pci.c 2024-09-04 13:30:16.000000000 +0200
+++ linux-6.10.8.new/drivers/usb/host/xhci-pci.c 2024-09-12
19:37:14.378870385 +0200
@@ -76,6 +76,7 @@
 #define PCI_DEVICE_ID_ASMEDIA_1042A_XHCI 0x1142
 #define PCI_DEVICE_ID_ASMEDIA_1142_XHCI 0x1242
 #define PCI_DEVICE_ID_ASMEDIA_2142_XHCI 0x2142
+#define PCI_DEVICE_ID_ASMEDIA_3042_XHCI 0x3042
 #define PCI_DEVICE_ID_ASMEDIA_3242_XHCI 0x3242

 static const char hcd_name[] = "xhci_hcd";
@@ -447,6 +448,10 @@
  pdev->device == PCI_DEVICE_ID_ASMEDIA_1042A_XHCI)
  xhci->quirks |= XHCI_ASMEDIA_MODIFY_FLOWCONTROL;

+ if (pdev->vendor == PCI_VENDOR_ID_ASMEDIA &&
+ pdev->device == PCI_DEVICE_ID_ASMEDIA_3042_XHCI)
+ xhci->quirks |= XHCI_RESET_ON_RESUME;
+
  if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
  xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;




[Index of Archives]     [Linux Media]     [Linux Input]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [Old Linux USB Devel Archive]

  Powered by Linux