PCI: Fix pci_register_io_range() memory leak
[linux-2.6-microblaze.git] / drivers / pci / pci.c
index b9fecc2..50b55a1 100644 (file)
@@ -4029,6 +4029,10 @@ int pci_register_io_range(struct fwnode_handle *fwnode, phys_addr_t addr,
        ret = logic_pio_register_range(range);
        if (ret)
                kfree(range);
+
+       /* Ignore duplicates due to deferred probing */
+       if (ret == -EEXIST)
+               ret = 0;
 #endif
 
        return ret;