diff --git a/drivers/pci/pci.c b/drivers/pci/pci.c index 1cd63450675ad72b1b418a40167f6e3af084280c..6b8ce37563d527c4b8eb3e1fc3aa415cf77f1082 100644 --- a/drivers/pci/pci.c +++ b/drivers/pci/pci.c @@ -566,6 +566,13 @@ int pci_find_next_ext_capability(struct pci_dev *dev, int start, int cap) return 0; while (ttl-- > 0) { +#ifdef CONFIG_X86 + if (boot_cpu_data.x86_vendor == X86_VENDOR_CENTAUR || + boot_cpu_data.x86_vendor == X86_VENDOR_ZHAOXIN) + if (header == 0xffffffff) + return 0; +#endif + if (PCI_EXT_CAP_ID(header) == cap && pos != start) return pos;