Message ID | 1497659620-7197-1-git-send-email-bgoswami@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 01b8cedfd0422326caae308641dcadaa85e0ca72 |
Headers | show |
On Fri, Jun 16, 2017 at 05:33:40PM -0700, bgoswami@codeaurora.org wrote: > From: Satish Babu Patakokila <sbpata@codeaurora.org> > > Currently compress driver hardcodes direction as playback to get > substream from the stream. This results in getting the incorrect > substream for compressed capture usecase. > To fix this, remove the hardcoding and derive substream based on > the stream direction. Acked-By: Vinod Koul <vinod.koul@intel.com> I think we should cc this to stable.. > > Signed-off-by: Satish Babu Patakokila <sbpata@codeaurora.org> > Signed-off-by: Banajit Goswami <bgoswami@codeaurora.org> > --- > sound/soc/soc-compress.c | 6 ++++-- > 1 file changed, 4 insertions(+), 2 deletions(-) > > diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c > index bfd71b8..206f36b 100644 > --- a/sound/soc/soc-compress.c > +++ b/sound/soc/soc-compress.c > @@ -81,7 +81,8 @@ static int soc_compr_open(struct snd_compr_stream *cstream) > static int soc_compr_open_fe(struct snd_compr_stream *cstream) > { > struct snd_soc_pcm_runtime *fe = cstream->private_data; > - struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream; > + struct snd_pcm_substream *fe_substream = > + fe->pcm->streams[cstream->direction].substream; > struct snd_soc_platform *platform = fe->platform; > struct snd_soc_dai *cpu_dai = fe->cpu_dai; > struct snd_soc_dpcm *dpcm; > @@ -467,7 +468,8 @@ static int soc_compr_set_params_fe(struct snd_compr_stream *cstream, > struct snd_compr_params *params) > { > struct snd_soc_pcm_runtime *fe = cstream->private_data; > - struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream; > + struct snd_pcm_substream *fe_substream = > + fe->pcm->streams[cstream->direction].substream; > struct snd_soc_platform *platform = fe->platform; > struct snd_soc_dai *cpu_dai = fe->cpu_dai; > int ret = 0, stream; > -- > The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum, > a Linux Foundation Collaborative Project >
diff --git a/sound/soc/soc-compress.c b/sound/soc/soc-compress.c index bfd71b8..206f36b 100644 --- a/sound/soc/soc-compress.c +++ b/sound/soc/soc-compress.c @@ -81,7 +81,8 @@ static int soc_compr_open(struct snd_compr_stream *cstream) static int soc_compr_open_fe(struct snd_compr_stream *cstream) { struct snd_soc_pcm_runtime *fe = cstream->private_data; - struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream; + struct snd_pcm_substream *fe_substream = + fe->pcm->streams[cstream->direction].substream; struct snd_soc_platform *platform = fe->platform; struct snd_soc_dai *cpu_dai = fe->cpu_dai; struct snd_soc_dpcm *dpcm; @@ -467,7 +468,8 @@ static int soc_compr_set_params_fe(struct snd_compr_stream *cstream, struct snd_compr_params *params) { struct snd_soc_pcm_runtime *fe = cstream->private_data; - struct snd_pcm_substream *fe_substream = fe->pcm->streams[0].substream; + struct snd_pcm_substream *fe_substream = + fe->pcm->streams[cstream->direction].substream; struct snd_soc_platform *platform = fe->platform; struct snd_soc_dai *cpu_dai = fe->cpu_dai; int ret = 0, stream;