I recently sent out a number of patches to migrate drivers calling `pci_find_capability(pdef, PCI_CAP_ID_EXP)` to pci_pcie_cap. This function takes uses a PCI-E capability offset that was determined by calling pci_find_capability during the PCI bus walking. In response to one of the patches, James Smart posted: "The reason is due to an issue on PPC platforms whereby use of "pdev->is_pcie" and pci_is_pcie() will erroneously fail under some conditions, but explicit search for the capability struct via pci_find_capability() is always successful. I expect this to be due a shadowing of pci config space in the hal/platform that isn't sufficiently built up. We detected this issue while testing AER/EEH, and are functional only if the pci_find_capability() option is used." See http://marc.info/?l=linux-scsi&m=130946649427828&w=2 for the whole post. Based on his description above pci_pcie_cap andpci_find_capability(pdef, PCI_CAP_ID_EXP) should be functionally equivalent. If this is not safe, then the PCI bus walking code is most likely busted on EEH enabled PPC systems (and that is a BIG problem). Can anyone confirm this is still an issue? Thanks, Jon -- To unsubscribe from this list: send the line "unsubscribe linux-pci" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html