mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-11-01 17:08:10 +00:00
ASoC: soc-pcm: indicate error message at soc_pcm_hw_params()
Indicating error message when failed case is very useful for debuging. In many case, its style is like below. int function(...) { ... return ret; } int caller(...) { ... ret = function(...); if (ret < 0) dev_err(...) ... } This is not so bad, but in this style *each caller* needs to indicate duplicate same error message, and some caller is forgetting to do it. And caller can't indicate detail function() error information. If function() indicates error message, we can get same and detail information without forgot. int function(...) { ... if (ret < 0) dev_err(...) return ret; } int caller(...) { ... ret = function(...); ... } This patch follow above style at soc_pcm_hw_params(). By this patch, dpcm_fe/be_dai_hw_params(...) temporary lacks FE/BE error info, but it will reborn soon. Signed-off-by: Kuninori Morimoto <kuninori.morimoto.gx@renesas.com> Link: https://lore.kernel.org/r/87pn01utbt.wl-kuninori.morimoto.gx@renesas.com Signed-off-by: Mark Brown <broonie@kernel.org>
This commit is contained in:
parent
e4b044f458
commit
cb11f79b4a
1 changed files with 6 additions and 8 deletions
|
@ -1001,8 +1001,10 @@ static int soc_pcm_hw_params(struct snd_pcm_substream *substream,
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&rtd->card->pcm_mutex);
|
mutex_unlock(&rtd->card->pcm_mutex);
|
||||||
|
|
||||||
if (ret < 0)
|
if (ret < 0) {
|
||||||
soc_pcm_hw_clean(substream, 1);
|
soc_pcm_hw_clean(substream, 1);
|
||||||
|
dev_err(rtd->dev, "ASoC: %s() failed (%d)\n", __func__, ret);
|
||||||
|
}
|
||||||
|
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
@ -1905,11 +1907,8 @@ int dpcm_be_dai_hw_params(struct snd_soc_pcm_runtime *fe, int stream)
|
||||||
be->dai_link->name);
|
be->dai_link->name);
|
||||||
|
|
||||||
ret = soc_pcm_hw_params(be_substream, &dpcm->hw_params);
|
ret = soc_pcm_hw_params(be_substream, &dpcm->hw_params);
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
dev_err(dpcm->be->dev,
|
|
||||||
"ASoC: hw_params BE failed %d\n", ret);
|
|
||||||
goto unwind;
|
goto unwind;
|
||||||
}
|
|
||||||
|
|
||||||
be->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS;
|
be->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS;
|
||||||
}
|
}
|
||||||
|
@ -1964,10 +1963,9 @@ static int dpcm_fe_dai_hw_params(struct snd_pcm_substream *substream,
|
||||||
|
|
||||||
/* call hw_params on the frontend */
|
/* call hw_params on the frontend */
|
||||||
ret = soc_pcm_hw_params(substream, params);
|
ret = soc_pcm_hw_params(substream, params);
|
||||||
if (ret < 0) {
|
if (ret < 0)
|
||||||
dev_err(fe->dev,"ASoC: hw_params FE failed %d\n", ret);
|
|
||||||
dpcm_be_dai_hw_free(fe, stream);
|
dpcm_be_dai_hw_free(fe, stream);
|
||||||
} else
|
else
|
||||||
fe->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS;
|
fe->dpcm[stream].state = SND_SOC_DPCM_STATE_HW_PARAMS;
|
||||||
|
|
||||||
out:
|
out:
|
||||||
|
|
Loading…
Reference in a new issue