]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: rt1320: Fix retry checking in rt1320_rae_load()
authorDan Carpenter <dan.carpenter@linaro.org>
Sat, 20 Dec 2025 08:45:40 +0000 (11:45 +0300)
committerMark Brown <broonie@kernel.org>
Mon, 22 Dec 2025 09:02:04 +0000 (09:02 +0000)
This loop iterates 200 times and then gives up.  The problem is that
currently the loop exits with "retry" set to -1 on the failure path but
the check for failure expects it to be 0.  Change from a post-op to a
pre-op so that it exits with "retry" set to 0.

Fixes: 22937af75abb ("ASoC: rt1320: support RAE parameters loading")
Signed-off-by: Dan Carpenter <dan.carpenter@linaro.org>
Acked-by: Shuming Fan <shumingf@realtek.com>
Link: https://patch.msgid.link/aUZiNJ7pzuahXFYE@stanley.mountain
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/codecs/rt1320-sdw.c

index 00eb792048356e5099eb5b086a64e89dbf383409..e1c4a1adacff41448eef24ca8caeefe185e09dab 100644 (file)
@@ -1478,7 +1478,7 @@ static int rt1320_rae_load(struct rt1320_sdw_priv *rt1320)
                /* RAE stop & CRC disable */
                regmap_update_bits(rt1320->regmap, 0xe803, 0xbc, 0x00);
 
-               while (retry--) {
+               while (--retry) {
                        regmap_read(rt1320->regmap, 0xe83f, &value);
                        if (value & 0x40)
                                break;