aboutsummaryrefslogtreecommitdiffstats
path: root/sound/soc
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-11 14:03:48 -0400
committerMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-12 13:41:02 -0400
commite4dd76788c7e5b27165890d712c8c4f6f0abd645 (patch)
treef6122cd8a021069b700fc7531f6b60f027a2e15a /sound/soc
parentb761c0ca2e964a240d74e50da9e27dc0b3be0649 (diff)
ASoC: wm8962: Redo early init of the part on resume
Ensure robust startup of the part by going through the reset procedure prior to resyncing the full register cache, avoiding potential intermittent faults in some designs. Signed-off-by: Mark Brown <broonie@opensource.wolfsonmicro.com> Cc: stable@vger.kernel.org
Diffstat (limited to 'sound/soc')
-rw-r--r--sound/soc/codecs/wm8962.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sound/soc/codecs/wm8962.c b/sound/soc/codecs/wm8962.c
index beb709bd56cd..eaf65863ec21 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3725,6 +3725,9 @@ static int wm8962_runtime_resume(struct device *dev)
3725 } 3725 }
3726 3726
3727 regcache_cache_only(wm8962->regmap, false); 3727 regcache_cache_only(wm8962->regmap, false);
3728
3729 wm8962_reset(wm8962);
3730
3728 regcache_sync(wm8962->regmap); 3731 regcache_sync(wm8962->regmap);
3729 3732
3730 regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP, 3733 regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP,