On 11.01.2016 15:00, Mark Brown wrote:
On Mon, Jan 11, 2016 at 10:10:56AM -0200, Fabio Estevam wrote:
On Mon, Jan 11, 2016 at 10:04 AM, Fabio Estevam festevam@gmail.com wrote:
[ 2.526984] ------------[ cut here ]------------ [ 2.531632] WARNING: CPU: 1 PID: 1 at kernel/locking/lockdep.c:2755 lockdep_trace_alloc+0xf4/0x124()
This fixes the warning:
--- a/sound/soc/fsl/fsl_ssi.c +++ b/sound/soc/fsl/fsl_ssi.c @@ -180,7 +180,6 @@ static const struct regmap_config fsl_ssi_regconfig = { .volatile_reg = fsl_ssi_volatile_reg, .precious_reg = fsl_ssi_precious_reg, .writeable_reg = fsl_ssi_writeable_reg,
.cache_type = REGCACHE_RBTREE,
};
Is this the correct fix?
I suspect not, it looks like the driver is using the cache for suspend/resume handling. I've dropped the patch for now. Either the driver should explicitly write to the relevant registers outside of interrupt context to ensure the cache entry exists or it should keep the defaults and explicitly write them to hardware at startup to ensure sync (the former is more likely to be safe).
Is it acceptable to switch it to flat cache instead to not keep the register defaults in driver?
Maciej