summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorMark Brown <broonie@kernel.org>2026-03-26 13:33:38 +0300
committerMark Brown <broonie@kernel.org>2026-03-26 13:33:38 +0300
commitc6eea4ff846ed342a12cedf3af730a6204a8d97e (patch)
treea90915646bde640e17fdc16ce17674222d9f4c84 /lib
parentc673efd5db2223c2e8b885025bcd96bca6cdb171 (diff)
parentbfe6a264effcb6fe99ad7ceaf9e8c7439fc9555b (diff)
downloadlinux-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.c3
-rw-r--r--lib/crypto/Makefile3
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