PCI: rcar: Handle rcar_pcie_parse_request_of_pci_ranges() failures
rcar_pcie_parse_request_of_pci_ranges() can fail and return an error
code, but this is not checked nor handled.
Fix this by adding the missing error handling.
Fixes: 5d2917d469
("PCI: rcar: Convert to DT resource parsing API")
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Lorenzo Pieralisi <lorenzo.pieralisi@arm.com>
This commit is contained in:
parent
1291a0d504
commit
83c75ddd81
|
@ -1123,7 +1123,9 @@ static int rcar_pcie_probe(struct platform_device *pdev)
|
||||||
|
|
||||||
INIT_LIST_HEAD(&pcie->resources);
|
INIT_LIST_HEAD(&pcie->resources);
|
||||||
|
|
||||||
rcar_pcie_parse_request_of_pci_ranges(pcie);
|
err = rcar_pcie_parse_request_of_pci_ranges(pcie);
|
||||||
|
if (err)
|
||||||
|
goto err_free_bridge;
|
||||||
|
|
||||||
err = rcar_pcie_get_resources(pcie);
|
err = rcar_pcie_get_resources(pcie);
|
||||||
if (err < 0) {
|
if (err < 0) {
|
||||||
|
@ -1178,6 +1180,7 @@ err_pm_disable:
|
||||||
|
|
||||||
err_free_resource_list:
|
err_free_resource_list:
|
||||||
pci_free_resource_list(&pcie->resources);
|
pci_free_resource_list(&pcie->resources);
|
||||||
|
err_free_bridge:
|
||||||
pci_free_host_bridge(bridge);
|
pci_free_host_bridge(bridge);
|
||||||
|
|
||||||
return err;
|
return err;
|
||||||
|
|
Loading…
Reference in New Issue