Retrieve the domain, bus, device, and function numbers from the edev.

Signed-off-by: Oliver O'Halloran <ooh...@gmail.com>
---
 arch/powerpc/kernel/eeh.c | 14 ++++----------
 1 file changed, 4 insertions(+), 10 deletions(-)

diff --git a/arch/powerpc/kernel/eeh.c b/arch/powerpc/kernel/eeh.c
index 1a12c8bdf61e..f203ffc5c57d 100644
--- a/arch/powerpc/kernel/eeh.c
+++ b/arch/powerpc/kernel/eeh.c
@@ -167,23 +167,17 @@ void eeh_show_enabled(void)
  */
 static size_t eeh_dump_dev_log(struct eeh_dev *edev, char *buf, size_t len)
 {
-       struct pci_dn *pdn = eeh_dev_to_pdn(edev);
        u32 cfg;
        int cap, i;
        int n = 0, l = 0;
        char buffer[128];
 
-       if (!pdn) {
-               pr_warn("EEH: Note: No error log for absent device.\n");
-               return 0;
-       }
-
        n += scnprintf(buf+n, len-n, "%04x:%02x:%02x.%01x\n",
-                      pdn->phb->global_number, pdn->busno,
-                      PCI_SLOT(pdn->devfn), PCI_FUNC(pdn->devfn));
+                       edev->pe->phb->global_number, edev->bdfn >> 8,
+                       PCI_SLOT(edev->bdfn), PCI_FUNC(edev->bdfn));
        pr_warn("EEH: of node=%04x:%02x:%02x.%01x\n",
-               pdn->phb->global_number, pdn->busno,
-               PCI_SLOT(pdn->devfn), PCI_FUNC(pdn->devfn));
+               edev->pe->phb->global_number, edev->bdfn >> 8,
+               PCI_SLOT(edev->bdfn), PCI_FUNC(edev->bdfn));
 
        eeh_ops->read_config(edev, PCI_VENDOR_ID, 4, &cfg);
        n += scnprintf(buf+n, len-n, "dev/vend:%08x\n", cfg);
-- 
2.26.2

Reply via email to