summaryrefslogtreecommitdiff
path: root/drivers/pci/host
diff options
context:
space:
mode:
authorJeffy Chen <jeffy.chen@rock-chips.com>2017-08-23 15:03:31 +0800
committerBjorn Helgaas <bhelgaas@google.com>2017-08-29 13:18:08 -0500
commit7b15b85927d6b04d0d8f1caf217bc6312486fdd5 (patch)
treef89e37cb560bb476231f82df64d5d7b4354e8e17 /drivers/pci/host
parentefee827d3ddb8bd219392cbedc5e5afc6ccfd617 (diff)
PCI: rockchip: Remove IRQ domain if probe fails
Call irq_domain_remove() to clean up if probe fails. Signed-off-by: Jeffy Chen <jeffy.chen@rock-chips.com> Signed-off-by: Shawn Lin <shawn.lin@rock-chips.com> Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Diffstat (limited to 'drivers/pci/host')
-rw-r--r--drivers/pci/host/pcie-rockchip.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/pci/host/pcie-rockchip.c b/drivers/pci/host/pcie-rockchip.c
index ac8b8e8270f7..f8763f0017d5 100644
--- a/drivers/pci/host/pcie-rockchip.c
+++ b/drivers/pci/host/pcie-rockchip.c
@@ -1567,7 +1567,7 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
err = of_pci_get_host_bridge_resources(dev->of_node, 0, 0xff,
&res, &io_base);
if (err)
- goto err_deinit_port;
+ goto err_remove_irq_domain;
err = devm_request_pci_bus_resources(dev, &res);
if (err)
@@ -1639,6 +1639,8 @@ static int rockchip_pcie_probe(struct platform_device *pdev)
err_free_res:
pci_free_resource_list(&res);
+err_remove_irq_domain:
+ irq_domain_remove(rockchip->irq_domain);
err_deinit_port:
rockchip_pcie_deinit_phys(rockchip);
err_vpcie: