[PATCH v2 0/2] ASoC: adau1372: Fix error handling in adau1372_set_power()

From: Jihed Chaibi

Date: Wed Mar 25 2026 - 17:12:19 EST


adau1372_set_power() had two related error handling issues in its enable
path: clk_prepare_enable() was called but its return value discarded, and
adau1372_enable_pll() was a void function that silently swallowed lock
failures, leaving mclk enabled and adau1372->enabled set to true despite
the device being in a broken state.

Patch 1 fixes the unchecked clk_prepare_enable() by making
adau1372_set_power() return int and propagating the error.

Patch 2 converts adau1372_enable_pll() to return int and adds a full
unwind in adau1372_set_power() if PLL lock fails, reversing the regcache,
GPIO power-down, and clock state.

Changes in v2:
- [1/2]: No changes.
- [2/2]: Also unwind regcache and GPIO power-down state on PLL lock
failure, as noted by Mark Brown.

Jihed Chaibi (2):
ASoC: adau1372: Fix unchecked clk_prepare_enable() return value
ASoC: adau1372: Fix clock leak on PLL lock failure

sound/soc/codecs/adau1372.c | 34 ++++++++++++++++++++++-----------
1 file changed, 24 insertions(+), 10 deletions(-)

--
2.47.3