diff --git a/drivers/pci/controller/pcie-mediatek-gen3.c b/drivers/pci/controller/pcie-mediatek-gen3.c index 1b6290f2c360..22a16e4ebc76 100644 --- a/drivers/pci/controller/pcie-mediatek-gen3.c +++ b/drivers/pci/controller/pcie-mediatek-gen3.c @@ -1304,14 +1304,16 @@ static int mtk_pcie_resume_noirq(struct device *dev) return err; err = mtk_pcie_startup_port(pcie); - if (err) { - mtk_pcie_power_down(pcie); - return err; - } + if (err) + goto err_power_down; mtk_pcie_irq_restore(pcie); return 0; + +err_power_down: + mtk_pcie_power_down(pcie); + return err; } static const struct dev_pm_ops mtk_pcie_pm_ops = {