ASoC: amd: acp: fix for invalid dai id handling in acp_get_byte_count()
For invalid dai id, instead of returning -EINVAL
return bytes count as zero in acp_get_byte_count() function.
Fixes: 623621a9f9
("ASoC: amd: Add common framework to support I2S on ACP SOC")
Signed-off-by: Vijendar Mukunda <Vijendar.Mukunda@amd.com>
Link: https://lore.kernel.org/r/20230626105356.2580125-6-Vijendar.Mukunda@amd.com
Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
Родитель
68a653ab86
Коммит
85aeab3622
|
@ -173,7 +173,7 @@ int snd_amd_acp_find_config(struct pci_dev *pci);
|
|||
|
||||
static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int direction)
|
||||
{
|
||||
u64 byte_count, low = 0, high = 0;
|
||||
u64 byte_count = 0, low = 0, high = 0;
|
||||
|
||||
if (direction == SNDRV_PCM_STREAM_PLAYBACK) {
|
||||
switch (dai_id) {
|
||||
|
@ -191,7 +191,7 @@ static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int
|
|||
break;
|
||||
default:
|
||||
dev_err(adata->dev, "Invalid dai id %x\n", dai_id);
|
||||
return -EINVAL;
|
||||
goto POINTER_RETURN_BYTES;
|
||||
}
|
||||
} else {
|
||||
switch (dai_id) {
|
||||
|
@ -213,12 +213,13 @@ static inline u64 acp_get_byte_count(struct acp_dev_data *adata, int dai_id, int
|
|||
break;
|
||||
default:
|
||||
dev_err(adata->dev, "Invalid dai id %x\n", dai_id);
|
||||
return -EINVAL;
|
||||
goto POINTER_RETURN_BYTES;
|
||||
}
|
||||
}
|
||||
/* Get 64 bit value from two 32 bit registers */
|
||||
byte_count = (high << 32) | low;
|
||||
|
||||
POINTER_RETURN_BYTES:
|
||||
return byte_count;
|
||||
}
|
||||
|
||||
|
|
Загрузка…
Ссылка в новой задаче