Skip to contentSkip to conversation

Patch "ASoC: ak4642: Enable cache usage to fix crashes on resume" has been added to the 4.4-stable tree

PATCH [email protected] 1 participant 1 message Jun 4, 2016

Subsystems (3)
lore
Share & tools
lore

[email protected]

author maintainer Applied
#0 lore raw

This is a note to let you know that I've just added the patch titled

ASoC: ak4642: Enable cache usage to fix crashes on resume

to the 4.4-stable tree which can be found at:
http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
asoc-ak4642-enable-cache-usage-to-fix-crashes-on-resume.patch
and it can be found in the queue-4.4 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree, please let <[email protected]> know about it.

Quoted 1 line

From d3030d11961a8c103cf07aed59905276ddfc06c2 Mon Sep 17 00:00:00 2001

From: Mark Brown <[email protected]>
Date: Wed, 18 May 2016 18:30:39 +0100
Subject: ASoC: ak4642: Enable cache usage to fix crashes on resume

From: Mark Brown <[email protected]>

commit d3030d11961a8c103cf07aed59905276ddfc06c2 upstream.

The ak4642 driver is using a regmap cache sync to restore the configuration of the chip on resume but (as Peter observed) 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.

---
 sound/soc/codecs/ak4642.c |    3 +++
 1 file changed, 3 insertions(+)
sound/soc/codecs/ak4642.c +3 -0
@@ -560,6 +560,7 @@ static const struct regmap_config ak4642
 	.max_register		= FIL1_3,
 	.reg_defaults		= ak4642_reg,
 	.num_reg_defaults	= NUM_AK4642_REG_DEFAULTS,
+	.cache_type		= REGCACHE_RBTREE,
 };
 
 static const struct regmap_config ak4643_regmap = {
@@ -568,6 +569,7 @@ static const struct regmap_config ak4643
 	.max_register		= SPK_MS,
 	.reg_defaults		= ak4643_reg,
 	.num_reg_defaults	= ARRAY_SIZE(ak4643_reg),
+	.cache_type		= REGCACHE_RBTREE,
 };
 
 static const struct regmap_config ak4648_regmap = {
@@ -576,6 +578,7 @@ static const struct regmap_config ak4648
 	.max_register		= EQ_FBEQE,
 	.reg_defaults		= ak4648_reg,
 	.num_reg_defaults	= ARRAY_SIZE(ak4648_reg),
+	.cache_type		= REGCACHE_RBTREE,
 };
 
 static const struct ak4642_drvdata ak4642_drvdata = {

Patches currently in stable-queue which might be from [email protected] are

queue-4.4/asoc-ak4642-enable-cache-usage-to-fix-crashes-on-resume.patch queue-4.4/regulator-try-to-resolve-regulators-supplies-on-registration.patch