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 _______________________________________________ Alsa-devel mailing list Alsa-devel@xxxxxxxxxxxxxxxx http://mailman.alsa-project.org/mailman/listinfo/alsa-devel