[PATCH 5/5] watchdog: dw_wdt: clean up error paths in resume function

From: Artem Shimko

Date: Fri Mar 20 2026 - 09:58:23 EST


Clean up of dw_wdt_resume() function.

Rework the error handling to use properly named labels that match the
cleanup order. Use unprepare_clk for clock disable and unprepare_pclk
for pclk disable path.

Signed-off-by: Artem Shimko <a.shimko.dev@xxxxxxxxx>
---
drivers/watchdog/dw_wdt.c | 12 ++++++------
1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/drivers/watchdog/dw_wdt.c b/drivers/watchdog/dw_wdt.c
index c2c5dc6e54e7..c89e1fb91b1f 100644
--- a/drivers/watchdog/dw_wdt.c
+++ b/drivers/watchdog/dw_wdt.c
@@ -393,16 +393,15 @@ static int dw_wdt_suspend(struct device *dev)
static int dw_wdt_resume(struct device *dev)
{
struct dw_wdt *dw_wdt = dev_get_drvdata(dev);
- int err = clk_prepare_enable(dw_wdt->clk);
+ int err;

+ err = clk_prepare_enable(dw_wdt->clk);
if (err)
return err;

err = clk_prepare_enable(dw_wdt->pclk);
- if (err) {
- clk_disable_unprepare(dw_wdt->clk);
- return err;
- }
+ if (err)
+ goto unprepare_clk;

err = reset_control_deassert(dw_wdt->rst);
if (err)
@@ -415,8 +414,9 @@ static int dw_wdt_resume(struct device *dev)

return 0;

-unprepare_clk:
+unprepare_pclk:
clk_disable_unprepare(dw_wdt->pclk);
+unprepare_clk:
clk_disable_unprepare(dw_wdt->clk);

return err;
--
2.43.0