diff options
Diffstat (limited to 'sound/soc/soc-core.c')
| -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 b5ecf6d2321..92cee24ed2d 100644 --- a/sound/soc/soc-core.c +++ b/sound/soc/soc-core.c @@ -567,6 +567,17 @@ int snd_soc_suspend(struct device *dev)  		if (!codec->suspended && codec->driver->suspend) {  			switch (codec->dapm.bias_level) {  			case SND_SOC_BIAS_STANDBY: +				/* +				 * If the CODEC is capable of idle +				 * bias off then being in STANDBY +				 * means it's doing something, +				 * otherwise fall through. +				 */ +				if (codec->dapm.idle_bias_off) { +					dev_dbg(codec->dev, +						"idle_bias_off CODEC on over suspend\n"); +					break; +				}  			case SND_SOC_BIAS_OFF:  				codec->driver->suspend(codec);  				codec->suspended = 1;  |