All of lore.kernel.org
 help / color / mirror / Atom feed
From: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
To: alsa-devel@alsa-project.org
Cc: tiwai@suse.de, Libin Yang <libin.yang@intel.com>,
	broonie@kernel.org,
	Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
Subject: [PATCH 05/12] ASoC: SOF: pcm: clear hw_params_upon_resume flag correctly
Date: Sat, 18 May 2019 15:26:57 -0500	[thread overview]
Message-ID: <20190518202704.7772-6-pierre-louis.bossart@linux.intel.com> (raw)
In-Reply-To: <20190518202704.7772-1-pierre-louis.bossart@linux.intel.com>

From: Libin Yang <libin.yang@intel.com>

sof_pcm_hw_params() can only be called once to setup the FW hw_params.
So after calling sof_pcm_hw_params(), hw_params_upon_resume flag must
be cleared to avoid multiple invoking sof_pcm_hw_params() by prepare.

For example, after resume, there is an xrun happened, prepare() will
be called. As the hw_params_upon_resume flag is not cleared,
sof_pcm_hw_params() will be called and this will cause IPC timeout.

This patch fixes such issues.

Fixes: 868bd00f495 ("ASoC: SOF: Add PCM operations support")
Signed-off-by: Libin Yang <libin.yang@intel.com>
Signed-off-by: Pierre-Louis Bossart <pierre-louis.bossart@linux.intel.com>
---
 sound/soc/sof/pcm.c | 6 +++---
 1 file changed, 3 insertions(+), 3 deletions(-)

diff --git a/sound/soc/sof/pcm.c b/sound/soc/sof/pcm.c
index 4f536c0de0a5..e94892053690 100644
--- a/sound/soc/sof/pcm.c
+++ b/sound/soc/sof/pcm.c
@@ -214,6 +214,9 @@ static int sof_pcm_hw_params(struct snd_pcm_substream *substream,
 	INIT_WORK(&spcm->stream[substream->stream].period_elapsed_work,
 		  sof_pcm_period_elapsed_work);
 
+	/* clear hw_params_upon_resume flag */
+	spcm->hw_params_upon_resume[substream->stream] = 0;
+
 	return ret;
 }
 
@@ -428,9 +431,6 @@ static int sof_pcm_open(struct snd_pcm_substream *substream)
 	dev_dbg(sdev->dev, "pcm: open stream %d dir %d\n", spcm->pcm.pcm_id,
 		substream->stream);
 
-	/* clear hw_params_upon_resume flag */
-	spcm->hw_params_upon_resume[substream->stream] = 0;
-
 	caps = &spcm->pcm.caps[substream->stream];
 
 	/* set any runtime constraints based on topology */
-- 
2.20.1

  parent reply	other threads:[~2019-05-18 20:27 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-05-18 20:26 [PATCH 00/12] ASoC: SOF: stability fixes Pierre-Louis Bossart
2019-05-18 20:26 ` [PATCH 01/12] ASoC: SOF: core: remove DSP after unregistering machine driver Pierre-Louis Bossart
2019-05-18 20:26 ` [PATCH 02/12] ASoC: SOF: core: remove snd_soc_unregister_component in case of error Pierre-Louis Bossart
2019-05-18 20:26 ` [PATCH 03/12] ASoC: SOF: core: fix error handling with the probe workqueue Pierre-Louis Bossart
2019-05-18 20:26 ` [PATCH 04/12] ASoC: SOF: pcm: remove runtime PM calls during pcm open/close Pierre-Louis Bossart
2019-05-18 20:26 ` Pierre-Louis Bossart [this message]
2019-05-18 20:26 ` [PATCH 06/12] ASoC: SOF: pcm: remove warning - initialize workqueue on open Pierre-Louis Bossart
2019-05-18 20:26 ` [PATCH 07/12] ASoC: SOF: control: correct the copy size for bytes kcontrol put Pierre-Louis Bossart
2019-05-18 20:27 ` [PATCH 08/12] ASoC: SOF: ipc: fix a race, leading to IPC timeouts Pierre-Louis Bossart
2019-05-19  7:20   ` Takashi Iwai
2019-05-20  7:15     ` Guennadi Liakhovetski
2019-05-20 13:36       ` Pierre-Louis Bossart
2019-05-18 20:27 ` [PATCH 09/12] ASoC: SOF: Intel: hda: fix the hda init chip Pierre-Louis Bossart
2019-05-18 20:27 ` [PATCH 10/12] ASoC: SOF: Intel: hda: use the defined ppcap functions Pierre-Louis Bossart
2019-05-18 20:27 ` [PATCH 11/12] ALSA: hdac: fix memory release for SST and SOF drivers Pierre-Louis Bossart
2019-05-19  7:30   ` Takashi Iwai
2019-05-19  7:37     ` Takashi Iwai
2019-05-18 20:27 ` [PATCH 12/12] ASoC: SOF: Intel: hda-codec: fix memory allocation Pierre-Louis Bossart
2019-05-19  7:39 ` [PATCH 00/12] ASoC: SOF: stability fixes Takashi Iwai

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=20190518202704.7772-6-pierre-louis.bossart@linux.intel.com \
    --to=pierre-louis.bossart@linux.intel.com \
    --cc=alsa-devel@alsa-project.org \
    --cc=broonie@kernel.org \
    --cc=libin.yang@intel.com \
    --cc=tiwai@suse.de \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.