ASoC: compress: Cancel delayed power down if needed
When a new stream is being opened it is necessary to cancel any delayed power down of the audio. [Fixed unused variable -- broonie] Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com> Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com>
This commit is contained in:
committed by
Mark Brown
parent
8bb9660418
commit
fa40ef208c
@@ -211,19 +211,27 @@ static int soc_compr_set_params(struct snd_compr_stream *cstream,
|
|||||||
if (platform->driver->compr_ops && platform->driver->compr_ops->set_params) {
|
if (platform->driver->compr_ops && platform->driver->compr_ops->set_params) {
|
||||||
ret = platform->driver->compr_ops->set_params(cstream, params);
|
ret = platform->driver->compr_ops->set_params(cstream, params);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (rtd->dai_link->compr_ops && rtd->dai_link->compr_ops->set_params) {
|
if (rtd->dai_link->compr_ops && rtd->dai_link->compr_ops->set_params) {
|
||||||
ret = rtd->dai_link->compr_ops->set_params(cstream);
|
ret = rtd->dai_link->compr_ops->set_params(cstream);
|
||||||
if (ret < 0)
|
if (ret < 0)
|
||||||
goto out;
|
goto err;
|
||||||
}
|
}
|
||||||
|
|
||||||
snd_soc_dapm_stream_event(rtd, SNDRV_PCM_STREAM_PLAYBACK,
|
snd_soc_dapm_stream_event(rtd, SNDRV_PCM_STREAM_PLAYBACK,
|
||||||
SND_SOC_DAPM_STREAM_START);
|
SND_SOC_DAPM_STREAM_START);
|
||||||
|
|
||||||
out:
|
/* cancel any delayed stream shutdown that is pending */
|
||||||
|
rtd->pop_wait = 0;
|
||||||
|
mutex_unlock(&rtd->pcm_mutex);
|
||||||
|
|
||||||
|
cancel_delayed_work_sync(&rtd->delayed_work);
|
||||||
|
|
||||||
|
return ret;
|
||||||
|
|
||||||
|
err:
|
||||||
mutex_unlock(&rtd->pcm_mutex);
|
mutex_unlock(&rtd->pcm_mutex);
|
||||||
return ret;
|
return ret;
|
||||||
}
|
}
|
||||||
|
Reference in New Issue
Block a user