diff options
author | Sumit Bhattacharya <sumitb@nvidia.com> | 2011-02-21 13:08:43 +0530 |
---|---|---|
committer | Varun Colbert <vcolbert@nvidia.com> | 2011-02-22 18:08:39 -0800 |
commit | 98d54eb3423b961039d7db01889f5c57d9128d76 (patch) | |
tree | aba4faeb41b3e5585eae6c333bbf0df283fb39a2 /sound | |
parent | 30f8e96200c5bb29be447456eeeb9e3e220dd0b1 (diff) |
wm8903: Fix wm8903_resume() implementation
In wm8903_resume() codec should be powered up after restoring cached
registers. Otherwise sequencer registers are getting overwritten after
powering up of codec which was shutting down the codec during resume.
Bug 792879
Bug 789967
Change-Id: Ic342a490f988ea1aa9597e6cd68e7d0a1000210a
Reviewed-on: http://git-master/r/20270
Tested-by: Sumit Bhattacharya <sumitb@nvidia.com>
Reviewed-by: Vijay Mali <vmali@nvidia.com>
Reviewed-by: Ravindra Lokhande <rlokhande@nvidia.com>
Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Reviewed-by: Scott Peterson <speterson@nvidia.com>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/wm8903.c | 6 |
1 files changed, 3 insertions, 3 deletions
diff --git a/sound/soc/codecs/wm8903.c b/sound/soc/codecs/wm8903.c index dbe9b52456ef..88d342ff4101 100644 --- a/sound/soc/codecs/wm8903.c +++ b/sound/soc/codecs/wm8903.c @@ -1628,9 +1628,6 @@ static int wm8903_resume(struct platform_device *pdev) u16 *tmp_cache = kmemdup(reg_cache, sizeof(wm8903_reg_defaults), GFP_KERNEL); - /* 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++) @@ -1641,6 +1638,9 @@ static int wm8903_resume(struct platform_device *pdev) dev_err(&i2c->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; } |