--- /dev/null
+From 4703b014f28bf7a2e56d1da238ee95ef6c5ce76b Mon Sep 17 00:00:00 2001
+From: Dan Carpenter <dan.carpenter@linaro.org>
+Date: Mon, 5 Feb 2024 15:44:30 +0300
+Subject: ASoC: cs35l56: fix reversed if statement in cs35l56_dspwait_asp1tx_put()
+
+From: Dan Carpenter <dan.carpenter@linaro.org>
+
+commit 4703b014f28bf7a2e56d1da238ee95ef6c5ce76b upstream.
+
+It looks like the "!" character was added accidentally. The
+regmap_update_bits_check() function is normally going to succeed. This
+means the rest of the function is unreachable and we don't handle the
+situation where "changed" is true correctly.
+
+Fixes: 07f7d6e7a124 ("ASoC: cs35l56: Fix for initializing ASP1 mixer registers")
+Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
+Reviewed-by: Richard Fitzgerald <rf@opensource.cirrus.com>
+Link: https://lore.kernel.org/r/0c254c07-d1c0-4a5c-a22b-7e135cab032c@moroto.mountain
+Signed-off-by: Mark Brown <broonie@kernel.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+---
+ sound/soc/codecs/cs35l56.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+--- a/sound/soc/codecs/cs35l56.c
++++ b/sound/soc/codecs/cs35l56.c
+@@ -175,7 +175,7 @@ static int cs35l56_dspwait_asp1tx_put(st
+
+ ret = regmap_update_bits_check(cs35l56->base.regmap, addr,
+ CS35L56_ASP_TXn_SRC_MASK, val, &changed);
+- if (!ret)
++ if (ret)
+ return ret;
+
+ if (changed)