ARM/PCI: Fix pcibios_init_resource() struct pci_host_bridge leak
Since commit97ad2bdcbe
("ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge()") the space for struct pci_sys_data is allocated by pci_alloc_host_bridge() as part of the struct pci_host_bridge. Therefore, failure paths must deallocate the entire pci_host_bridge by using pci_free_host_bridge(). Fixes:97ad2bdcbe
("ARM/PCI: Convert PCI scan API to pci_scan_root_bus_bridge()") Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com> [bhelgaas: changelog] Signed-off-by: Bjorn Helgaas <bhelgaas@google.com> Cc: Jason Cooper <jason@lakedaemon.net> Cc: Russell King <linux@armlinux.org.uk> Cc: Andrew Lunn <andrew@lunn.ch>
This commit is contained in:
parent
af3c8d9850
commit
f01fc41773
|
@ -480,7 +480,7 @@ static void pcibios_init_hw(struct device *parent, struct hw_pci *hw,
|
||||||
|
|
||||||
ret = pcibios_init_resource(nr, sys, hw->io_optional);
|
ret = pcibios_init_resource(nr, sys, hw->io_optional);
|
||||||
if (ret) {
|
if (ret) {
|
||||||
kfree(sys);
|
pci_free_host_bridge(bridge);
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in New Issue