diff options
Diffstat (limited to 'drivers/of/of_pci.c')
-rw-r--r-- | drivers/of/of_pci.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/of/of_pci.c b/drivers/of/of_pci.c index 88471d3d98cd..60dc36c865b5 100644 --- a/drivers/of/of_pci.c +++ b/drivers/of/of_pci.c | |||
@@ -140,6 +140,7 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, | |||
140 | unsigned char busno, unsigned char bus_max, | 140 | unsigned char busno, unsigned char bus_max, |
141 | struct list_head *resources, resource_size_t *io_base) | 141 | struct list_head *resources, resource_size_t *io_base) |
142 | { | 142 | { |
143 | struct pci_host_bridge_window *window; | ||
143 | struct resource *res; | 144 | struct resource *res; |
144 | struct resource *bus_range; | 145 | struct resource *bus_range; |
145 | struct of_pci_range range; | 146 | struct of_pci_range range; |
@@ -225,7 +226,10 @@ int of_pci_get_host_bridge_resources(struct device_node *dev, | |||
225 | conversion_failed: | 226 | conversion_failed: |
226 | kfree(res); | 227 | kfree(res); |
227 | parse_failed: | 228 | parse_failed: |
229 | list_for_each_entry(window, resources, list) | ||
230 | kfree(window->res); | ||
228 | pci_free_resource_list(resources); | 231 | pci_free_resource_list(resources); |
232 | kfree(bus_range); | ||
229 | return err; | 233 | return err; |
230 | } | 234 | } |
231 | EXPORT_SYMBOL_GPL(of_pci_get_host_bridge_resources); | 235 | EXPORT_SYMBOL_GPL(of_pci_get_host_bridge_resources); |