summaryrefslogtreecommitdiffstats
path: root/sound
diff options
context:
space:
mode:
authorJeeja KP <jeeja.kp@intel.com>2015-11-23 21:22:31 +0530
committerMark Brown <broonie@kernel.org>2015-11-25 12:52:29 +0000
commit1a7aaa58ec7aaa389cd6b200809908ec472d316b (patch)
treec2952d4317e15ab7e67fc442f659b2bf568435cd /sound
parentfd589a1be20fdd76ef97700dd0185e7a060546dc (diff)
downloadlinux-stable-1a7aaa58ec7aaa389cd6b200809908ec472d316b.tar.gz
linux-stable-1a7aaa58ec7aaa389cd6b200809908ec472d316b.tar.bz2
linux-stable-1a7aaa58ec7aaa389cd6b200809908ec472d316b.zip
ASoC: core: Change power state before rechecking endpoint
For DAPM resume, we should first change the power state of the card and then recheck the endpoints. This ensures the dapm is resumed first and then userspace can resume the streams. Signed-off-by: Jeeja KP <jeeja.kp@intel.com> Signed-off-by: Vinod Koul <vinod.koul@intel.com> Reviewed-by: Lars-Peter Clausen <lars@metafoo.de> Signed-off-by: Mark Brown <broonie@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r--sound/soc/soc-core.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c
index 24b096066a07..a1305f827a98 100644
--- a/sound/soc/soc-core.c
+++ b/sound/soc/soc-core.c
@@ -795,12 +795,12 @@ static void soc_resume_deferred(struct work_struct *work)
dev_dbg(card->dev, "ASoC: resume work completed\n");
- /* userspace can access us now we are back as we were before */
- snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D0);
-
/* Recheck all endpoints too, their state is affected by suspend */
dapm_mark_endpoints_dirty(card);
snd_soc_dapm_sync(&card->dapm);
+
+ /* userspace can access us now we are back as we were before */
+ snd_power_change_state(card->snd_card, SNDRV_CTL_POWER_D0);
}
/* powers up audio subsystem after a suspend */