ALSA: hda - Fix inconsistent monitor_present state until repoll
authorTakashi Iwai <tiwai@suse.de>
Wed, 13 Apr 2016 07:45:53 +0000 (09:45 +0200)
committerTakashi Iwai <tiwai@suse.de>
Wed, 13 Apr 2016 07:53:46 +0000 (09:53 +0200)
commitc44da62b55bb453052869ab095bcda7aa0bd6bba
treebd5c759f68241d3d330abbec0b9f5153f387dd85
parent023d8218ec0dfc30e11d4ec54f640e8f127d1fbe
ALSA: hda - Fix inconsistent monitor_present state until repoll

While the previous commit fixed the missing monitor_present flag
update, it may be still in an inconsistent state while the driver
repolls: the flag itself is updated, but the eld_valid flag and the
contents don't follow until the repoll finishes (and may be repeated
for a few times).

The basic problem is that pin_eld->monitor_present is updated in the
caller side.  This should have been updated only in update_eld().  So,
the proper fix is to avoid accessing pin_eld but only spec->temp_eld.

Signed-off-by: Takashi Iwai <tiwai@suse.de>
sound/pci/hda/patch_hdmi.c