diff options
| author | Mark Brown <broonie@kernel.org> | 2026-03-26 13:33:38 +0300 |
|---|---|---|
| committer | Mark Brown <broonie@kernel.org> | 2026-03-26 13:33:38 +0300 |
| commit | c6eea4ff846ed342a12cedf3af730a6204a8d97e (patch) | |
| tree | a90915646bde640e17fdc16ce17674222d9f4c84 /lib | |
| parent | c673efd5db2223c2e8b885025bcd96bca6cdb171 (diff) | |
| parent | bfe6a264effcb6fe99ad7ceaf9e8c7439fc9555b (diff) | |
| download | linux-c6eea4ff846ed342a12cedf3af730a6204a8d97e.tar.xz | |
ASoC: adau1372: Fix error handling in adau1372_set_power()
Jihed Chaibi <jihed.chaibi.dev@gmail.com> says:
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.
Diffstat (limited to 'lib')
| -rw-r--r-- | lib/bootconfig.c | 3 | ||||
| -rw-r--r-- | lib/crypto/Makefile | 3 |
2 files changed, 5 insertions, 1 deletions
diff --git a/lib/bootconfig.c b/lib/bootconfig.c index 2da049216fe0..e88d0221a826 100644 --- a/lib/bootconfig.c +++ b/lib/bootconfig.c @@ -723,7 +723,8 @@ static int __init xbc_parse_kv(char **k, char *v, int op) if (op == ':') { unsigned short nidx = child->next; - xbc_init_node(child, v, XBC_VALUE); + if (xbc_init_node(child, v, XBC_VALUE) < 0) + return xbc_parse_error("Failed to override value", v); child->next = nidx; /* keep subkeys */ goto array; } diff --git a/lib/crypto/Makefile b/lib/crypto/Makefile index 725eef05b758..dc7a56f7287d 100644 --- a/lib/crypto/Makefile +++ b/lib/crypto/Makefile @@ -55,6 +55,9 @@ libaes-$(CONFIG_SPARC) += sparc/aes_asm.o libaes-$(CONFIG_X86) += x86/aes-aesni.o endif # CONFIG_CRYPTO_LIB_AES_ARCH +# clean-files must be defined unconditionally +clean-files += powerpc/aesp8-ppc.S + ################################################################################ obj-$(CONFIG_CRYPTO_LIB_AESCFB) += libaescfb.o |
