On Tue, 28 Apr 2020 14:38:36 +0200, Kai Vehmanen wrote: > > A race exists between build_pcms() and build_controls() phases of codec > setup. Build_pcms() sets up notifier for jack events. If a monitor event > is received before build_controls() is run, the initial jack state is > lost and never reported via mixer controls. > > The problem can be hit at least with SOF as the controller driver. SOF > calls snd_hda_codec_build_controls() in its workqueue-based probe and > this can be delayed enough to hit the race condition. > > Fix the issue by invalidating the per-pin ELD information when > build_controls() is called. The existing call to hdmi_present_sense() > will update the ELD contents. This ensures initial monitor state is > correctly reflected via mixer controls. > > BugLink: https://github.com/thesofproject/linux/issues/1687 > Signed-off-by: Kai Vehmanen <kai.vehmanen@xxxxxxxxxxxxxxx> Applied, thanks. Takashi