ASoC: wm8962: Redo early init of the part on resume
authorMark Brown <broonie@opensource.wolfsonmicro.com>
Wed, 11 Jul 2012 18:03:48 +0000 (19:03 +0100)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 9 Aug 2012 15:22:37 +0000 (08:22 -0700)
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>
sound/soc/codecs/wm8962.c

index 0cfce9999c894b83bef22d09ae6320c7ce88e8b8..21a6727bfc2334853a433de78ddec900cd7a78d0 100644 (file)
@@ -3722,6 +3722,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,