mirror of
https://github.com/torvalds/linux.git
synced 2026-05-04 22:43:04 -04:00
powerpc/eeh: Use cached capability for log dump
When calling into eeh_gather_pci_data() on pSeries platform, we possiblly don't have pci_dev instance yet, but eeh_dev is always ready. So we use cached capability from eeh_dev instead of pci_dev for log dump there. In order to keep things unified, we also cache PCI capability positions to eeh_dev for PowerNV as well. Signed-off-by: Gavin Shan <gwshan@linux.vnet.ibm.com> Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
This commit is contained in:
committed by
Benjamin Herrenschmidt
parent
2d86c385a1
commit
2a18dfc6ee
@@ -126,6 +126,7 @@ static int powernv_eeh_dev_probe(struct pci_dev *dev, void *flag)
|
||||
edev->mode &= 0xFFFFFF00;
|
||||
if (dev->hdr_type == PCI_HEADER_TYPE_BRIDGE)
|
||||
edev->mode |= EEH_DEV_BRIDGE;
|
||||
edev->pcix_cap = pci_find_capability(dev, PCI_CAP_ID_PCIX);
|
||||
if (pci_is_pcie(dev)) {
|
||||
edev->pcie_cap = pci_pcie_cap(dev);
|
||||
|
||||
@@ -133,6 +134,9 @@ static int powernv_eeh_dev_probe(struct pci_dev *dev, void *flag)
|
||||
edev->mode |= EEH_DEV_ROOT_PORT;
|
||||
else if (pci_pcie_type(dev) == PCI_EXP_TYPE_DOWNSTREAM)
|
||||
edev->mode |= EEH_DEV_DS_PORT;
|
||||
|
||||
edev->aer_cap = pci_find_ext_capability(dev,
|
||||
PCI_EXT_CAP_ID_ERR);
|
||||
}
|
||||
|
||||
edev->config_addr = ((dev->bus->number << 8) | dev->devfn);
|
||||
|
||||
Reference in New Issue
Block a user