From afed1926614d18148d933888cf13d9490d8208be Mon Sep 17 00:00:00 2001 From: Joseph Lo Date: Mon, 16 Apr 2012 14:02:57 +0800 Subject: ASoC: WM8903: fix the resume sequence The bias control must be done after the default register value been restored. Bug 964400 Change-Id: Iefbd96506573d5ea0e1b3123bb34c38e34e75068 Signed-off-by: Joseph Lo Reviewed-on: http://git-master/r/96658 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Scott Peterson --- sound/soc/codecs/wm8903.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c index 0218d6ce0557..df4d0ee6f975 100644 --- a/sound/soc/codecs/wm8903.c +++ b/sound/soc/codecs/wm8903.c @@ -1778,9 +1778,6 @@ static int wm8903_resume(struct snd_soc_codec *codec) if (wm8903->irq) enable_irq(wm8903->irq); - /* Bring the codec back up to standby first to minimise pop/clicks */ - wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY); - /* Sync back everything else */ if (tmp_cache) { for (i = 2; i < ARRAY_SIZE(wm8903_reg_defaults); i++) @@ -1791,6 +1788,9 @@ static int wm8903_resume(struct snd_soc_codec *codec) dev_err(codec->dev, "Failed to allocate temporary cache\n"); } + /* Bring the codec back up to standby first to minimise pop/clicks */ + wm8903_set_bias_level(codec, SND_SOC_BIAS_STANDBY); + return 0; } -- cgit v1.2.3