]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: SDCA: mask Function_Status value
authorMaciej Strozek <mstrozek@opensource.cirrus.com>
Wed, 8 Apr 2026 09:38:32 +0000 (10:38 +0100)
committerMark Brown <broonie@kernel.org>
Wed, 8 Apr 2026 15:55:29 +0000 (16:55 +0100)
According to the SDCA specification [1], when writing Function_Status during
handling this control, the value should mask off bit 7.

[1] MIPI Specification for SoundWire Device Class for Audio, version
    1.1, section 7.14.1.3 (Host Software Handling of Function_Status)

Signed-off-by: Maciej Strozek <mstrozek@opensource.cirrus.com>
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Link: https://patch.msgid.link/20260408093835.2881486-3-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdca/sdca_interrupts.c

index 9acb0be84674c8edf2dcb7923937ce7210ed848c..0693209ffed1b0b43d496ba408e07464d76c68b9 100644 (file)
@@ -138,7 +138,7 @@ static irqreturn_t function_status_handler(int irq, void *data)
                }
        }
 
-       ret = regmap_write(interrupt->function_regmap, reg, val);
+       ret = regmap_write(interrupt->function_regmap, reg, val & 0x7F);
        if (ret < 0) {
                dev_err(dev, "failed to clear function status: %d\n", ret);
                goto error;