Re: [PATCH 2/3] ASoC: lpass-platform: Fix broken pcm data usage

From: Kenneth Westfield
Date: Sat Oct 29 2016 - 12:14:07 EST


On Fri, Oct 28, 2016 at 04:32:19PM +0100, Srinivas Kandagatla wrote:
> This patch fixes lpass-platform driver which was broken in v4.9-rc1.
> lpass_pcm_data data structure holds information specific to stream.
> Holding a single private pointer to it in global lpass_data
> will not work, because it would be overwritten by for each pcm instance.
>
> This code was breaking playback when we have both playback and capture
> pcm streams, as playback settings are over written by capture settings.
>
> Fix this by moving channel allocation logic out of pcm_new to pcm_open
> so that we can store the stream specific information private_data of
> snd_pcm_runtime.
>
> Fixes: 6adcbdcd4b6e ("ASoC: lpass-platform: don't use snd_soc_pcm_set_drvdata()")
> Signed-off-by: Srinivas Kandagatla <srinivas.kandagatla@xxxxxxxxxx>
> ---
> sound/soc/qcom/lpass-platform.c | 151 ++++++++++++++++++----------------------
> sound/soc/qcom/lpass.h | 1 -
> 2 files changed, 67 insertions(+), 85 deletions(-)

After you address Mark's comments:

Acked-by: Kenneth Westfield <kwestfie@xxxxxxxxxxxxxx>

--
Kenneth Westfield
Qualcomm Innovation Center, Inc.
The Qualcomm Innovation Center, Inc. is a member of the Code Aurora Forum,
a Linux Foundation Collaborative Project