* [PATCH v6] ASoC: soc-compress: Cancel delayed power down if needed
@ 2013-03-27 16:36 Charles Keepax
0 siblings, 0 replies; only message in thread
From: Charles Keepax @ 2013-03-27 16:36 UTC (permalink / raw)
To: broonie; +Cc: alsa-devel, tiwai, patches, lgirdwood, Charles Keepax
When a new stream is being opened it is necessary to cancel any delayed
power down of the audio.
Signed-off-by: Charles Keepax <ckeepax@opensource.wolfsonmicro.com>
---
Well hopefully sixth time lucky, generated against the asoc tree
for-next branch.
Charles
sound/soc/soc-compress.c | 16 +++++++++++++---
1 files changed, 13 insertions(+), 3 deletions(-)
diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c
index f9b2197..4b4b5fa 100644
--- a/sound/soc/soc-compress.c
+++ b/sound/soc/soc-compress.c
@@ -198,8 +198,10 @@ static int soc_compr_set_params(struct snd_compr_stream *cstream,
{
struct snd_soc_pcm_runtime *rtd = cstream->private_data;
struct snd_soc_platform *platform = rtd->platform;
+ struct snd_soc_dai *codec_dai = rtd->codec_dai;
int ret = 0;
+
mutex_lock_nested(&rtd->pcm_mutex, rtd->pcm_subclass);
/* first we call set_params for the platform driver
@@ -211,19 +213,27 @@ static int soc_compr_set_params(struct snd_compr_stream *cstream,
if (platform->driver->compr_ops && platform->driver->compr_ops->set_params) {
ret = platform->driver->compr_ops->set_params(cstream, params);
if (ret < 0)
- goto out;
+ goto err;
}
if (rtd->dai_link->compr_ops && rtd->dai_link->compr_ops->set_params) {
ret = rtd->dai_link->compr_ops->set_params(cstream);
if (ret < 0)
- goto out;
+ goto err;
}
snd_soc_dapm_stream_event(rtd, SNDRV_PCM_STREAM_PLAYBACK,
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);
return ret;
}
--
1.7.2.5
^ permalink raw reply related [flat|nested] only message in thread
only message in thread, other threads:[~2013-03-27 16:44 UTC | newest]
Thread overview: (only message) (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2013-03-27 16:36 [PATCH v6] ASoC: soc-compress: Cancel delayed power down if needed Charles Keepax
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox