diff options
-rw-r--r-- | sound/soc/soc-core.c | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/sound/soc/soc-core.c b/sound/soc/soc-core.c index b5ecf6d23214..92cee24ed2dc 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c | |||
@@ -567,6 +567,17 @@ int snd_soc_suspend(struct device *dev) | |||
567 | if (!codec->suspended && codec->driver->suspend) { | 567 | if (!codec->suspended && codec->driver->suspend) { |
568 | switch (codec->dapm.bias_level) { | 568 | switch (codec->dapm.bias_level) { |
569 | case SND_SOC_BIAS_STANDBY: | 569 | case SND_SOC_BIAS_STANDBY: |
570 | /* | ||
571 | * If the CODEC is capable of idle | ||
572 | * bias off then being in STANDBY | ||
573 | * means it's doing something, | ||
574 | * otherwise fall through. | ||
575 | */ | ||
576 | if (codec->dapm.idle_bias_off) { | ||
577 | dev_dbg(codec->dev, | ||
578 | "idle_bias_off CODEC on over suspend\n"); | ||
579 | break; | ||
580 | } | ||
570 | case SND_SOC_BIAS_OFF: | 581 | case SND_SOC_BIAS_OFF: |
571 | codec->driver->suspend(codec); | 582 | codec->driver->suspend(codec); |
572 | codec->suspended = 1; | 583 | codec->suspended = 1; |