]> git.ipfire.org Git - thirdparty/kernel/stable.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)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Fri, 15 Aug 2025 14:38:34 +0000 (16:38 +0200)
[ Upstream commit 4eb6ad5d2080681b531db2c1764246f9a868062f ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
sound/soc/sdca/sdca_functions.c

index de213a69e0dacc08f75b496f7a755aab251fbf95..28e9e6de6d5dbafd2c2cde30d7ff102510744f96 100644 (file)
@@ -880,7 +880,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;