Merge branch 'for-3.20' of git://linux-nfs.org/~bfields/linux
[firefly-linux-kernel-4.4.55.git] / drivers / of / of_pci.c
index 88471d3d98cd6cd01bb250f38e7f7cdfc3379152..110fece2ff537238f999cee084451964293bf429 100644 (file)
@@ -140,6 +140,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
                        unsigned char busno, unsigned char bus_max,
                        struct list_head *resources, resource_size_t *io_base)
 {
+       struct resource_entry *window;
        struct resource *res;
        struct resource *bus_range;
        struct of_pci_range range;
@@ -225,7 +226,10 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
 conversion_failed:
        kfree(res);
 parse_failed:
+       resource_list_for_each_entry(window, resources)
+               kfree(window->res);
        pci_free_resource_list(resources);
+       kfree(bus_range);
        return err;
 }
 EXPORT_SYMBOL_GPL(of_pci_get_host_bridge_resources);