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>
This commit is contained in:
parent
f9f51973d3
commit
36a65e2072
|
@ -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 sti_uniperiph_data *priv = snd_soc_dai_get_drvdata(dai);
|
||||||
struct uniperif *player = priv->dai_data.uni;
|
struct uniperif *player = priv->dai_data.uni;
|
||||||
|
player->substream = substream;
|
||||||
|
|
||||||
player->clk_adj = 0;
|
player->clk_adj = 0;
|
||||||
|
|
||||||
|
@ -950,6 +951,8 @@ static void uni_player_shutdown(struct snd_pcm_substream *substream,
|
||||||
if (player->state != UNIPERIF_STATE_STOPPED)
|
if (player->state != UNIPERIF_STATE_STOPPED)
|
||||||
/* Stop the player */
|
/* Stop the player */
|
||||||
uni_player_stop(player);
|
uni_player_stop(player);
|
||||||
|
|
||||||
|
player->substream = NULL;
|
||||||
}
|
}
|
||||||
|
|
||||||
static int uni_player_parse_dt_clk_glue(struct platform_device *pdev,
|
static int uni_player_parse_dt_clk_glue(struct platform_device *pdev,
|
||||||
|
|
Loading…
Reference in New Issue