summaryrefslogtreecommitdiffstats
path: root/sound/soc/qcom/lpass.h
diff options
context:
space:
mode:
authorSrinivas Kandagatla <srinivas.kandagatla@linaro.org>2016-10-31 12:25:43 +0100
committerMark Brown <broonie@kernel.org>2016-10-31 19:29:54 +0100
commit022d00ee0b55e6cd49048acadb9bf76c37e538d8 (patch)
tree57a5059f93b72fbb9c1e3fd82bd2f2d56ed9f609 /sound/soc/qcom/lpass.h
parentLinux 4.9-rc1 (diff)
downloadlinux-022d00ee0b55e6cd49048acadb9bf76c37e538d8.tar.xz
linux-022d00ee0b55e6cd49048acadb9bf76c37e538d8.zip
ASoC: lpass-platform: Fix broken pcm data usage
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 in 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@linaro.org> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/qcom/lpass.h')
-rw-r--r--sound/soc/qcom/lpass.h1
1 files changed, 0 insertions, 1 deletions
diff --git a/sound/soc/qcom/lpass.h b/sound/soc/qcom/lpass.h
index 35b3cea8207d..924971b6ded5 100644
--- a/sound/soc/qcom/lpass.h
+++ b/sound/soc/qcom/lpass.h
@@ -59,7 +59,6 @@ struct lpass_data {
struct clk *pcnoc_mport_clk;
struct clk *pcnoc_sway_clk;
- void *private_data;
};
/* Vairant data per each SOC */