Message ID | 20200108180856.5194-1-kai.vehmanen@linux.intel.com (mailing list archive) |
---|---|
State | New, archived |
Headers | show |
Series | ALSA: hda: enable regmap internal locking | expand |
On Wed, 08 Jan 2020 19:08:56 +0100, Kai Vehmanen wrote: > > This reverts commit 42ec336f1f9d ("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> Applied now. Thanks. Takashi
diff --git a/sound/hda/hdac_regmap.c b/sound/hda/hdac_regmap.c index 906b1e20bae0..286361ecd640 100644 --- a/sound/hda/hdac_regmap.c +++ b/sound/hda/hdac_regmap.c @@ -363,7 +363,6 @@ static const struct regmap_config hda_regmap_cfg = { .reg_write = hda_reg_write, .use_single_read = true, .use_single_write = true, - .disable_locking = true, }; /**
This reverts commit 42ec336f1f9d ("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> --- sound/hda/hdac_regmap.c | 1 - 1 file changed, 1 deletion(-)