PCI: hv: Fix return value check in hv_pci_assign_slots()
authorWei Yongjun <weiyongjun1@huawei.com>
Fri, 21 Sep 2018 02:53:17 +0000 (02:53 +0000)
committerDavid S. Miller <davem@davemloft.net>
Sat, 22 Sep 2018 02:13:22 +0000 (19:13 -0700)
In case of error, the function pci_create_slot() returns ERR_PTR() and
never returns NULL. The NULL test in the return value check should be
replaced with IS_ERR().

Fixes: a15f2c08c708 ("PCI: hv: support reporting serial number as slot information")
Signed-off-by: Wei Yongjun <weiyongjun1@huawei.com>
Signed-off-by: David S. Miller <davem@davemloft.net>
drivers/pci/controller/pci-hyperv.c

index ee80e79db21a24907ccc96c654b0e253bdeec399..9ba4d12c179c7551d8a10b59433a33ed5be044cd 100644 (file)
@@ -1484,8 +1484,10 @@ static void hv_pci_assign_slots(struct hv_pcibus_device *hbus)
                snprintf(name, SLOT_NAME_SIZE, "%u", hpdev->desc.ser);
                hpdev->pci_slot = pci_create_slot(hbus->pci_bus, slot_nr,
                                          name, NULL);
-               if (!hpdev->pci_slot)
+               if (IS_ERR(hpdev->pci_slot)) {
                        pr_warn("pci_create slot %s failed\n", name);
+                       hpdev->pci_slot = NULL;
+               }
        }
 }