diff options
author | Moise Gergaud <moise.gergaud@st.com> | 2015-11-19 14:54:09 +0100 |
---|---|---|
committer | Mark Brown <broonie@kernel.org> | 2015-11-19 18:49:35 +0100 |
commit | 36a65e2072625556191c6c616d65ed4f67f4f0d0 (patch) | |
tree | 33ab41c48b4aa3d0db82a95319c80f295c3fd321 /sound/soc/sti | |
parent | ASoC: sti: rename ST proprietary DT properties (diff) | |
download | linux-36a65e2072625556191c6c616d65ed4f67f4f0d0.tar.xz linux-36a65e2072625556191c6c616d65ed4f67f4f0d0.zip |
ASoC: sti: set player private data
Set substream player private data.
substream player private data is used in uni_player_irq_handler to lock,
stop & unlock the stream when interrupt indicates underflow/overflow.
If not set, then segmentation fault occurs.
Signed-off-by: Moise Gergaud <moise.gergaud@st.com>
Acked-by: Arnaud Pouliquen <arnaud.pouliquen@st.com>
Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound/soc/sti')
-rw-r--r-- | sound/soc/sti/uniperif_player.c | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/sti/uniperif_player.c b/sound/soc/sti/uniperif_player.c index 1e19a7c6b7e8..5c2bc53f0a9b 100644 --- a/sound/soc/sti/uniperif_player.c +++ b/sound/soc/sti/uniperif_player.c @@ -669,6 +669,7 @@ static int uni_player_startup(struct snd_pcm_substream *substream, { struct sti_uniperiph_data *priv = snd_soc_dai_get_drvdata(dai); struct uniperif *player = priv->dai_data.uni; + player->substream = substream; player->clk_adj = 0; @@ -950,6 +951,8 @@ static void uni_player_shutdown(struct snd_pcm_substream *substream, if (player->state != UNIPERIF_STATE_STOPPED) /* Stop the player */ uni_player_stop(player); + + player->substream = NULL; } static int uni_player_parse_dt_clk_glue(struct platform_device *pdev, |