diff options
author | Geert Uytterhoeven <geert+renesas@glider.be> | 2016-06-16 15:34:30 +0300 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-11-10 18:41:36 +0300 |
commit | f629104427a6dc9ab20dc10424896777a2bbe506 (patch) | |
tree | 54287c8429c6df563591e7eb68da7c0e0bb2de1a /sound | |
parent | 1c84d14eb7f4cefe455facae6b1ac06e7841db56 (diff) | |
download | linux-f629104427a6dc9ab20dc10424896777a2bbe506.tar.xz |
ASoC: ak4613: Enable cache usage to fix crashes on resume
[ Upstream commit dcd2d1f78664fdc75eadaaf65257834e24383d01 ]
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 <broonie@kernel.org>.
Signed-off-by: Geert Uytterhoeven <geert+renesas@glider.be>
Signed-off-by: Mark Brown <broonie@kernel.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'sound')
-rw-r--r-- | sound/soc/codecs/ak4613.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/sound/soc/codecs/ak4613.c b/sound/soc/codecs/ak4613.c index 07a266460ec3..b4b36cc92ffe 100644 --- a/sound/soc/codecs/ak4613.c +++ b/sound/soc/codecs/ak4613.c @@ -143,6 +143,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[] = { |