The Synopsys HAPS USB controller has a VID PID (16c3,abcd) that matches to an existing PCIe controller. This quirk is intended for USB HAPS devices only. To fix this, check for the PCI class USB xHCI to prevent matching the PCIe controllers. Fixes: 03e6742584af ("PCI: Override Synopsys USB 3.x HAPS device class") Signed-off-by: Thinh Nguyen <thinhn@xxxxxxxxxxxx> --- drivers/pci/quirks.c | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/drivers/pci/quirks.c b/drivers/pci/quirks.c index b0a413f3f7ca..e2a879e93d86 100644 --- a/drivers/pci/quirks.c +++ b/drivers/pci/quirks.c @@ -639,8 +639,9 @@ static void quirk_synopsys_haps(struct pci_dev *pdev) break; } } -DECLARE_PCI_FIXUP_HEADER(PCI_VENDOR_ID_SYNOPSYS, PCI_ANY_ID, - quirk_synopsys_haps); +DECLARE_PCI_FIXUP_CLASS_HEADER(PCI_VENDOR_ID_SYNOPSYS, PCI_ANY_ID, + PCI_CLASS_SERIAL_USB_XHCI, 0, + quirk_synopsys_haps); /* * Let's make the southbridge information explicit instead of having to -- 2.11.0