Skip to content

Commit 6220193

Browse files
Nicolin Chenbroonie
authored andcommitted
ASoC: cs53l30: Fix a bug for TDM slot location validation
The maximum slot number of CS53L30 is 4 while it should support the situation that's less than 4 channels based on the rx_mask. So when the driver validates the last slot location, it should check the last active slot instead of always the 4th one. Signed-off-by: Nicolin Chen <[email protected]> Signed-off-by: Mark Brown <[email protected]>
1 parent 05f33bc commit 6220193

File tree

1 file changed

+2
-2
lines changed

1 file changed

+2
-2
lines changed

sound/soc/codecs/cs53l30.c

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -809,8 +809,8 @@ static int cs53l30_set_dai_tdm_slot(struct snd_soc_dai *dai,
809809
return -EINVAL;
810810
}
811811

812-
/* Validate the last CS53L30 slot */
813-
slot_next = loc[CS53L30_TDM_SLOT_MAX - 1] + slot_step - 1;
812+
/* Validate the last active CS53L30 slot */
813+
slot_next = loc[i - 1] + slot_step - 1;
814814
if (slot_next > 47) {
815815
dev_err(dai->dev, "slot selection out of bounds: %u\n",
816816
slot_next);

0 commit comments

Comments
 (0)