|
@@ -140,6 +140,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
|
|
|
unsigned char busno, unsigned char bus_max,
|
|
unsigned char busno, unsigned char bus_max,
|
|
|
struct list_head *resources, resource_size_t *io_base)
|
|
struct list_head *resources, resource_size_t *io_base)
|
|
|
{
|
|
{
|
|
|
|
|
+ struct resource_entry *window;
|
|
|
struct resource *res;
|
|
struct resource *res;
|
|
|
struct resource *bus_range;
|
|
struct resource *bus_range;
|
|
|
struct of_pci_range range;
|
|
struct of_pci_range range;
|
|
@@ -225,6 +226,8 @@ int of_pci_get_host_bridge_resources(struct device_node *dev,
|
|
|
conversion_failed:
|
|
conversion_failed:
|
|
|
kfree(res);
|
|
kfree(res);
|
|
|
parse_failed:
|
|
parse_failed:
|
|
|
|
|
+ resource_list_for_each_entry(window, resources)
|
|
|
|
|
+ kfree(window->res);
|
|
|
pci_free_resource_list(resources);
|
|
pci_free_resource_list(resources);
|
|
|
return err;
|
|
return err;
|
|
|
}
|
|
}
|