summaryrefslogtreecommitdiff
path: root/sound
diff options
context:
space:
mode:
authorMark Brown <broonie@opensource.wolfsonmicro.com>2012-07-11 22:03:48 +0400
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2012-08-09 19:31:28 +0400
commit8f1b438887c47d3b65fc64ca23821d69ba69ddd7 (patch)
tree4727e604d136c7ace1ed20900556af0855f6352b /sound
parenta73185355e3d19694b655528811e54cc086a5bcf (diff)
downloadlinux-8f1b438887c47d3b65fc64ca23821d69ba69ddd7.tar.xz
ASoC: wm8962: Redo early init of the part on resume
commit e4dd76788c7e5b27165890d712c8c4f6f0abd645 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'sound')
-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 15d467ff91b4..08850f8fdb58 100644
--- a/sound/soc/codecs/wm8962.c
+++ b/sound/soc/codecs/wm8962.c
@@ -3710,6 +3710,9 @@ static int wm8962_runtime_resume(struct device *dev)
}
regcache_cache_only(wm8962->regmap, false);
+
+ wm8962_reset(wm8962);
+
regcache_sync(wm8962->regmap);
regmap_update_bits(wm8962->regmap, WM8962_ANTI_POP,