diff options
| -rw-r--r-- | drivers/pci/controller/pcie-mediatek-gen3.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c index 436dbd925181..aa14b021834f 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -555,10 +555,14 @@ static int mtk_pcie_startup_port(struct mtk_gen3_pcie *pcie) dev_err(pcie->dev, "PCIe link down, current LTSSM state: %s (%#x)\n", ltssm_state, val); - return err; + goto err_power_down_device; } return 0; + +err_power_down_device: + mtk_pcie_devices_power_down(pcie); + return err; } #define MTK_MSI_FLAGS_REQUIRED (MSI_FLAG_USE_DEF_DOM_OPS | \ @@ -1218,6 +1222,7 @@ static int mtk_pcie_probe(struct platform_device *pdev) return 0; err_power_down_pcie: + mtk_pcie_devices_power_down(pcie); mtk_pcie_power_down(pcie); err_tear_down_irq: mtk_pcie_irq_teardown(pcie); |
