]> git.ipfire.org Git - thirdparty/kernel/linux.git/commitdiff
ASoC: SDCA: Allow read-only controls to be deferrable
authorCharles Keepax <ckeepax@opensource.cirrus.com>
Mon, 7 Jul 2025 12:41:49 +0000 (13:41 +0100)
committerMark Brown <broonie@kernel.org>
Tue, 15 Jul 2025 18:45:44 +0000 (19:45 +0100)
The current SDCA Control parsing only checks the deferrable flag for
Read/Write and Dual Ranked controls. However, reads can defer as well as
writes so Read Only controls should also check for the deferrable flag.
Add the handling for this into find_sdca_entity_control().

Fixes: 42b144cb6a2d ("ASoC: SDCA: Add SDCA Control parsing")
Signed-off-by: Charles Keepax <ckeepax@opensource.cirrus.com>
Reviewed-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.dev>
Link: https://patch.msgid.link/20250707124155.2596744-2-ckeepax@opensource.cirrus.com
Signed-off-by: Mark Brown <broonie@kernel.org>
sound/soc/sdca/sdca_functions.c

index be09b7a34102786f8a03c2ba7f3e24f78a8ca26a..7392ddcdd48316f369581cac93f8ba47e7fb813d 100644 (file)
@@ -881,7 +881,8 @@ static int find_sdca_entity_control(struct device *dev, struct sdca_entity *enti
                        control->value = tmp;
                        control->has_fixed = true;
                }
-
+               fallthrough;
+       case SDCA_ACCESS_MODE_RO:
                control->deferrable = fwnode_property_read_bool(control_node,
                                                                "mipi-sdca-control-deferrable");
                break;