]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
PCI: mediatek-gen3: Add error path for resume driver callbacks
authorChen-Yu Tsai <wenst@chromium.org>
Tue, 24 Mar 2026 05:19:56 +0000 (13:19 +0800)
committerBjorn Helgaas <bhelgaas@google.com>
Wed, 25 Mar 2026 18:47:42 +0000 (13:47 -0500)
The resume callback currently does teardown in the conditional block
directly. This is going to get ugly when the pwrctrl calls are added.

Move the teardown to a proper error cleanup path.

Signed-off-by: Chen-Yu Tsai <wenst@chromium.org>
Signed-off-by: Manivannan Sadhasivam <mani@kernel.org>
Signed-off-by: Bjorn Helgaas <bhelgaas@google.com>
Reviewed-by: AngeloGioacchino Del Regno <angelogioacchino.delregno@collabora.com>
Reviewed-by: Bartosz Golaszewski <bartosz.golaszewski@oss.qualcomm.com>
Reviewed-by: Manivannan Sadhasivam <mani@kernel.org>
Link: https://patch.msgid.link/20260324052002.4072430-5-wenst@chromium.org
drivers/pci/controller/pcie-mediatek-gen3.c

index 1b6290f2c360e4d996b6b8836ae37477eb7009af..22a16e4ebc761c0d4cb9d34e3bcc84c5d31334ed 100644 (file)
@@ -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 = {