forked from mirrors/linux
		
	ALSA: hda: enable regmap internal locking
This reverts commit 42ec336f1f ("ALSA: hda: Disable regmap
internal locking").
Without regmap locking, there is a race between snd_hda_codec_amp_init()
and PM callbacks issuing regcache_sync(). This was caught by
following kernel warning trace:
<4> [358.080081] WARNING: CPU: 2 PID: 4157 at drivers/base/regmap/regcache.c:498 regcache_cache_only+0xf5/0x130
[...]
<4> [358.080148] Call Trace:
<4> [358.080158]  snd_hda_codec_amp_init+0x4e/0x100 [snd_hda_codec]
<4> [358.080169]  snd_hda_codec_amp_init_stereo+0x40/0x80 [snd_hda_codec]
Suggested-by: Takashi Iwai <tiwai@suse.de>
BugLink: https://gitlab.freedesktop.org/drm/intel/issues/592
Signed-off-by: Kai Vehmanen <kai.vehmanen@linux.intel.com>
Link: https://lore.kernel.org/r/20200108180856.5194-1-kai.vehmanen@linux.intel.com
Signed-off-by: Takashi Iwai <tiwai@suse.de>
			
			
This commit is contained in:
		
							parent
							
								
									54a6a7dc10
								
							
						
					
					
						commit
						8e85def572
					
				
					 1 changed files with 0 additions and 1 deletions
				
			
		| 
						 | 
					@ -363,7 +363,6 @@ static const struct regmap_config hda_regmap_cfg = {
 | 
				
			||||||
	.reg_write = hda_reg_write,
 | 
						.reg_write = hda_reg_write,
 | 
				
			||||||
	.use_single_read = true,
 | 
						.use_single_read = true,
 | 
				
			||||||
	.use_single_write = true,
 | 
						.use_single_write = true,
 | 
				
			||||||
	.disable_locking = true,
 | 
					 | 
				
			||||||
};
 | 
					};
 | 
				
			||||||
 | 
					
 | 
				
			||||||
/**
 | 
					/**
 | 
				
			||||||
| 
						 | 
					
 | 
				
			||||||
		Loading…
	
		Reference in a new issue