diff options
| -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); |
