[PATCH v2] dpll: zl3073x: Remove redundant cleanup in devm_dpll_init()

From: Felix Gu

Date: Tue Feb 24 2026 - 06:08:50 EST


The devm_add_action_or_reset() function already executes the cleanup
action on failure before returning an error, so the explicit goto error
and subsequent zl3073x_dev_dpll_fini() call causes double cleanup.

Fixes: ebb1031c5137 ("dpll: zl3073x: Refactor DPLL initialization")
Reviewed-by: Ivan Vecera <ivecera@xxxxxxxxxx>
Signed-off-by: Felix Gu <ustc.gu@xxxxxxxxx>
---
Changes in v2:
- Fix Ivan's comment
- Link to v1: https://lore.kernel.org/r/20260223-dpll-v1-1-d99f18c12bae@xxxxxxxxx
---
drivers/dpll/zl3073x/core.c | 6 +-----
1 file changed, 1 insertion(+), 5 deletions(-)

diff --git a/drivers/dpll/zl3073x/core.c b/drivers/dpll/zl3073x/core.c
index 63bd97181b9e..569c2cda5a02 100644
--- a/drivers/dpll/zl3073x/core.c
+++ b/drivers/dpll/zl3073x/core.c
@@ -981,11 +981,7 @@ zl3073x_devm_dpll_init(struct zl3073x_dev *zldev, u8 num_dplls)
}

/* Add devres action to release DPLL related resources */
- rc = devm_add_action_or_reset(zldev->dev, zl3073x_dev_dpll_fini, zldev);
- if (rc)
- goto error;
-
- return 0;
+ return devm_add_action_or_reset(zldev->dev, zl3073x_dev_dpll_fini, zldev);

error:
zl3073x_dev_dpll_fini(zldev);

---
base-commit: d4906ae14a5f136ceb671bb14cedbf13fa560da6
change-id: 20260223-dpll-40c3c8b2ab38

Best regards,
--
Felix Gu <ustc.gu@xxxxxxxxx>