On Wed, Jan 26, 2022 at 04:24:36PM +0100, Takashi Iwai wrote: > > Given that the CPU number is the same in alc_update_coefex_idx(), it seems > > these calls execution is interrupted and interleaved on the same core. > > And, actually, there are two LEDs to set (mute and micmute). Am I onto > > something here? > That's an interesting finding, and yes, such a race is quite > possible. Below is a quick fix as an attempt to cover it. > Could you give it a try? Well, results are somewhat mixed. With the supplied patch (with a mutex), the original fixup 91502a9a0b0d ("ALSA: hda/realtek: fix speakers and micmute on HP 855 G8") is no longer needed for speakers to work. So, the original timing issue is identified now. But unbind-bind problems with IO_PAGE_FAULT and "out of range cmd" are not eliminated. IO_PAGE_FAULT are often logged without accompanying "out of range cmd". And after adding debugging printk() I haven't managed to trigger "out of range cmd" yet. But IO_PAGE_FAULT are more easily triggered. Are there ways to trace origins of IO_PAGE_FAULT itself?