pci: pci-uclass: Check validity of ofnode
authorSuneel Garapati <sgarapati@marvell.com>
Tue, 5 May 2020 04:25:25 +0000 (21:25 -0700)
committerStefan Roese <sr@denx.de>
Tue, 25 Aug 2020 06:01:16 +0000 (08:01 +0200)
Add check if the referenced ofnode is valid.

Signed-off-by: Suneel Garapati <sgarapati@marvell.com>
Reviewed-by: Simon Glass <sjg@chromium.org>
Cc: Bin Meng <bmeng.cn@gmail.com>
drivers/pci/pci-uclass.c

index fc60dfe3956e7299cc1bd4efcb6ada4f5a442d0d..d8a6647a1da9c47a1e24f46ffc12bd14125189c7 100644 (file)
@@ -539,7 +539,8 @@ int pci_auto_config_devices(struct udevice *bus)
                int ret;
 
                debug("%s: device %s\n", __func__, dev->name);
-               if (dev_read_bool(dev, "pci,no-autoconfig"))
+               if (dev_of_valid(dev) &&
+                   dev_read_bool(dev, "pci,no-autoconfig"))
                        continue;
                ret = dm_pciauto_config_device(dev);
                if (ret < 0)
@@ -1025,8 +1026,11 @@ static int pci_uclass_pre_probe(struct udevice *bus)
        hose->bus = bus;
        hose->first_busno = bus->seq;
        hose->last_busno = bus->seq;
-       hose->skip_auto_config_until_reloc =
-               dev_read_bool(bus, "u-boot,skip-auto-config-until-reloc");
+       if (dev_of_valid(bus)) {
+               hose->skip_auto_config_until_reloc =
+                       dev_read_bool(bus,
+                                     "u-boot,skip-auto-config-until-reloc");
+       }
 
        return 0;
 }