El 19/09/2024 a las 21:18, Sergey Shtylyov escribió:
On 9/19/24 21:42, Jose Alberto Reguero wrote:
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>
---
drivers/usb/host/xhci-pci.c | 5 +++++
1 file changed, 5 insertions(+)
diff --git a/drivers/usb/host/xhci-pci.c b/drivers/usb/host/xhci-pci.c
index dc1e345ab67e..8f075ab63f65 100644
--- a/drivers/usb/host/xhci-pci.c
+++ b/drivers/usb/host/xhci-pci.c
[...]
@@ -447,6 +448,10 @@ static void xhci_pci_quirks(struct device *dev, struct xhci_hcd *xhci)
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)
Hum, please either add 1 more tab here or start the continuation line
under pdev jn the broken up line. The *if* expression should not blend with
code in the branch.
I do in the next version.
Thanks for reviewing.
+ xhci->quirks |= XHCI_RESET_ON_RESUME;
+
if (pdev->vendor == PCI_VENDOR_ID_TI && pdev->device == 0x8241)
xhci->quirks |= XHCI_LIMIT_ENDPOINT_INTERVAL_7;
MBR, Sergey
Jose Alberto Reguero