path: root/sound/soc
diff options
authorGeert Uytterhoeven <>2016-06-16 14:34:30 +0200
committerMark Brown <>2016-06-17 12:36:09 +0100
commitdcd2d1f78664fdc75eadaaf65257834e24383d01 (patch)
treeabd23c25a5fe257a039c7b03ca7a45ac6cde8ac9 /sound/soc
parent99cf4b267e4863b95c7d33f59371b6ccdfd4a4ce (diff)
ASoC: ak4613: Enable cache usage to fix crashes on resume
During system resume: kernel BUG at drivers/base/regmap/regcache.c:347! ... PC is at regcache_sync+0x1c/0x128 LR is at ak4613_resume+0x28/0x34 The ak4613 driver is using a regmap cache sync to restore the configuration of the chip on resume but does not actually define a register cache which means that the resume is never going to work and we trigger asserts in regmap. Fix this by enabling caching. Based on commit d3030d11961a8c10 ("ASoC: ak4642: Enable cache usage to fix crashes on resume") by Mark Brown <>. Signed-off-by: Geert Uytterhoeven <> Signed-off-by: Mark Brown <>
Diffstat (limited to 'sound/soc')
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/ak4613.c b/sound/soc/codecs/ak4613.c
index 33d2f2e10e24..5013d2ba0c10 100644
--- a/sound/soc/codecs/ak4613.c
+++ b/sound/soc/codecs/ak4613.c
@@ -146,6 +146,7 @@ static const struct regmap_config ak4613_regmap_cfg = {
.max_register = 0x16,
.reg_defaults = ak4613_reg,
.num_reg_defaults = ARRAY_SIZE(ak4613_reg),
+ .cache_type = REGCACHE_RBTREE,
static const struct of_device_id ak4613_of_match[] = {