summaryrefslogtreecommitdiffstats
path: root/sound/soc/sti
diff options
context:
space:
mode:
authorArnaud Pouliquen <arnaud.pouliquen@st.com>2016-10-24 16:42:52 +0200
committerMark Brown <broonie@kernel.org>2016-10-26 12:41:28 +0200
commit1e6d304431958929b601b013687b73293ba27b88 (patch)
tree71416f8153c2de2352cdbd688f60c9b9322000b9 /sound/soc/sti
parentLinux 4.9-rc1 (diff)
downloadlinux-1e6d304431958929b601b013687b73293ba27b88.tar.xz
linux-1e6d304431958929b601b013687b73293ba27b88.zip
ASoC: sti: fix channel status update after playback start
If 'IEC958 Playback Default' control is updated during playback, Channel status needs to be set according to the runtime structure. Signed-off-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.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/sound/soc/sti/uniperif_player.c b/sound/soc/sti/uniperif_player.c
index 1bc8ebc2528e..ad54d4cf58ad 100644
--- a/sound/soc/sti/uniperif_player.c
+++ b/sound/soc/sti/uniperif_player.c
@@ -614,7 +614,11 @@ static int uni_player_ctl_iec958_put(struct snd_kcontrol *kcontrol,
iec958->status[3] = ucontrol->value.iec958.status[3];
mutex_unlock(&player->ctrl_lock);
- uni_player_set_channel_status(player, NULL);
+ if (player->substream && player->substream->runtime)
+ uni_player_set_channel_status(player,
+ player->substream->runtime);
+ else
+ uni_player_set_channel_status(player, NULL);
return 0;
}