From e1e6aed5217363ca8293a701ab2e17d746482d19 Mon Sep 17 00:00:00 2001 From: Mark Brown Date: Mon, 5 Dec 2011 15:17:06 +0000 Subject: [PATCH] --- yaml --- r: 283903 b: refs/heads/master c: f1aac484f705007caf0d7c256a1a29506600cae3 h: refs/heads/master i: 283901: e20d03b5ce8b073b536f8459570866e11306a131 283899: 812377c64eb3779947787e2fe553ee7fc32b7898 283895: c8173cb4ba413d48551ec7397d13cff7b856ca24 283887: 30b45a04e09cb1b00ecbc1607c2eda01f95f5e7d 283871: c6580a3794a4e16a9bbe53e5d6488dd05fb0cc53 283839: 3ea793093fc8088ccc8db3c7eac1f81dbea62186 283775: d4d3e3954624b9ae4b89a2132bd4c3c6f5fd0da9 283647: 0f6bd03ff7bf17559d83c7e77465fddab0e3fb05 v: v3 --- [refs] | 2 +- trunk/sound/soc/soc-dapm.c | 7 +++++++ 2 files changed, 8 insertions(+), 1 deletion(-) diff --git a/[refs] b/[refs] index f1cde4b0b351..2f110f6c6c75 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: beaff340e04fc3a752aa2cca70195dd506deccef +refs/heads/master: f1aac484f705007caf0d7c256a1a29506600cae3 diff --git a/trunk/sound/soc/soc-dapm.c b/trunk/sound/soc/soc-dapm.c index 6bb327e431a5..e174d0811dae 100644 --- a/trunk/sound/soc/soc-dapm.c +++ b/trunk/sound/soc/soc-dapm.c @@ -39,6 +39,7 @@ #include #include #include +#include #include #include #include @@ -1206,6 +1207,9 @@ static void dapm_pre_sequence_async(void *data, async_cookie_t cookie) /* If we're off and we're not supposed to be go into STANDBY */ if (d->bias_level == SND_SOC_BIAS_OFF && d->target_bias_level != SND_SOC_BIAS_OFF) { + if (d->dev) + pm_runtime_get_sync(d->dev); + ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_STANDBY); if (ret != 0) dev_err(d->dev, @@ -1245,6 +1249,9 @@ static void dapm_post_sequence_async(void *data, async_cookie_t cookie) ret = snd_soc_dapm_set_bias_level(d, SND_SOC_BIAS_OFF); if (ret != 0) dev_err(d->dev, "Failed to turn off bias: %d\n", ret); + + if (d->dev) + pm_runtime_put_sync(d->dev); } /* If we just powered up then move to active bias */