Merge tag 'cxl-for-6.4' of git://git.kernel.org/pub/scm/linux/kernel/git/cxl/cxl
[sfrench/cifs-2.6.git] / drivers / pci / probe.c
index 02d2bf80eedb9a7c989fa110b8d241d00f41e4f7..0b2826c4a832d09d9d13c34f9d868fd6d5a2f511 100644 (file)
@@ -533,7 +533,7 @@ void pci_read_bridge_bases(struct pci_bus *child)
        pci_read_bridge_mmio_pref(child);
 
        if (dev->transparent) {
-               pci_bus_for_each_resource(child->parent, res, i) {
+               pci_bus_for_each_resource(child->parent, res) {
                        if (res && res->flags) {
                                pci_bus_add_resource(child, res,
                                                     PCI_SUBTRACTIVE_DECODE);
@@ -1826,7 +1826,7 @@ int pci_setup_device(struct pci_dev *dev)
        u32 class;
        u16 cmd;
        u8 hdr_type;
-       int pos = 0;
+       int err, pos = 0;
        struct pci_bus_region region;
        struct resource *res;
 
@@ -1840,10 +1840,10 @@ int pci_setup_device(struct pci_dev *dev)
        dev->error_state = pci_channel_io_normal;
        set_pcie_port_type(dev);
 
-       pci_set_of_node(dev);
+       err = pci_set_of_node(dev);
+       if (err)
+               return err;
        pci_set_acpi_fwnode(dev);
-       if (dev->dev.fwnode && !fwnode_device_is_available(dev->dev.fwnode))
-               return -ENODEV;
 
        pci_dev_assign_slot(dev);