ipmi_si_pci: fix NULL device in ipmi_si error message
authorMeelis Roos <mroos@linux.ee>
Wed, 6 Jun 2018 13:11:26 +0000 (16:11 +0300)
committerCorey Minyard <cminyard@mvista.com>
Tue, 18 Sep 2018 21:15:33 +0000 (16:15 -0500)
I noticed that 4.17.0 logs the follwing during ipmi_si setup:

 ipmi_si 0000:01:04.6: probing via PCI
 (NULL device *): Could not setup I/O space
 ipmi_si 0000:01:04.6: [mem 0xf5ef0000-0xf5ef00ff] regsize 1 spacing 1 irq 21

Fix the "NULL device *) by moving io.dev assignment before its potential
use by ipmi_pci_probe_regspacing().

Result:
 ipmi_si 0000:01:04.6: probing via PCI
 ipmi_si 0000:01:04.6: Could not setup I/O space
 ipmi_si 0000:01:04.6: [mem 0xf5ef0000-0xf5ef00ff] regsize 1 spacing 1 irq 21

Signed-off-by: Meelis Roos <mroos@linux.ee>
Signed-off-by: Corey Minyard <cminyard@mvista.com>
drivers/char/ipmi/ipmi_si_pci.c

index 5eaa850..ce00c0d 100644 (file)
@@ -115,6 +115,8 @@ static int ipmi_pci_probe(struct pci_dev *pdev,
        }
        io.addr_data = pci_resource_start(pdev, 0);
 
+       io.dev = &pdev->dev;
+
        io.regspacing = ipmi_pci_probe_regspacing(&io);
        io.regsize = DEFAULT_REGSIZE;
        io.regshift = 0;
@@ -123,8 +125,6 @@ static int ipmi_pci_probe(struct pci_dev *pdev,
        if (io.irq)
                io.irq_setup = ipmi_std_irq_setup;
 
-       io.dev = &pdev->dev;
-
        dev_info(&pdev->dev, "%pR regsize %d spacing %d irq %d\n",
                 &pdev->resource[0], io.regsize, io.regspacing, io.irq);