ASoC: soc-dai: check return value at snd_soc_dai_set_tdm_slot()
[ Upstream commit 7f1186a8d738661b941b298fd6d1d5725ed71428 ] snd_soc_dai_set_tdm_slot() calls .xlate_tdm_slot_mask() or snd_soc_xlate_tdm_slot_mask(), but didn't check its return value. Let's check it. This patch might break existing driver. In such case, let's makes each func to void instead of int. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://patch.msgid.link/87o6z7yk61.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
35160eda61
commit
b3d2a8809e
@@ -275,10 +275,11 @@ int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
|
|||||||
|
|
||||||
if (dai->driver->ops &&
|
if (dai->driver->ops &&
|
||||||
dai->driver->ops->xlate_tdm_slot_mask)
|
dai->driver->ops->xlate_tdm_slot_mask)
|
||||||
dai->driver->ops->xlate_tdm_slot_mask(slots,
|
ret = dai->driver->ops->xlate_tdm_slot_mask(slots, &tx_mask, &rx_mask);
|
||||||
&tx_mask, &rx_mask);
|
|
||||||
else
|
else
|
||||||
snd_soc_xlate_tdm_slot_mask(slots, &tx_mask, &rx_mask);
|
ret = snd_soc_xlate_tdm_slot_mask(slots, &tx_mask, &rx_mask);
|
||||||
|
if (ret)
|
||||||
|
goto err;
|
||||||
|
|
||||||
for_each_pcm_streams(stream)
|
for_each_pcm_streams(stream)
|
||||||
snd_soc_dai_tdm_mask_set(dai, stream, *tdm_mask[stream]);
|
snd_soc_dai_tdm_mask_set(dai, stream, *tdm_mask[stream]);
|
||||||
@@ -287,6 +288,7 @@ int snd_soc_dai_set_tdm_slot(struct snd_soc_dai *dai,
|
|||||||
dai->driver->ops->set_tdm_slot)
|
dai->driver->ops->set_tdm_slot)
|
||||||
ret = dai->driver->ops->set_tdm_slot(dai, tx_mask, rx_mask,
|
ret = dai->driver->ops->set_tdm_slot(dai, tx_mask, rx_mask,
|
||||||
slots, slot_width);
|
slots, slot_width);
|
||||||
|
err:
|
||||||
return soc_dai_ret(dai, ret);
|
return soc_dai_ret(dai, ret);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(snd_soc_dai_set_tdm_slot);
|
EXPORT_SYMBOL_GPL(snd_soc_dai_set_tdm_slot);
|
||||||
|
Reference in New Issue
Block a user