forked from Minki/linux
ALSA: hda - Fix regression of monitor_present flag in eld proc file
The commit [bd48128539
: ALSA: hda - Fix forgotten HDMI monitor_present update] covered the missing update of monitor_present flag, but this caused a regression for devices without the i915 eld notifier. Since the old code supposed that pin_eld->monitor_present was updated by the caller side, the hdmi_present_sense_via_verbs() doesn't update the temporary eld->monitor_present but only pin_eld->monitor_present, which is now overridden in update_eld(). The fix is to update pin_eld->monitor_present as well before calling update_eld(). Note that this may still leave monitor_present flag in an inconsistent state when the driver repolls, but this is at least the old behavior. More proper fix will follow in the later patch. Fixes:bd48128539
('ALSA: hda - Fix forgotten HDMI monitor_present update') Signed-off-by: Hyungwon Hwang <hyungwon.hwang7@gmail.com> Cc: <stable@vger.kernel.org> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
adcdd0d5a1
commit
023d8218ec
@ -1414,6 +1414,8 @@ static bool hdmi_present_sense_via_verbs(struct hdmi_spec_per_pin *per_pin,
|
|||||||
|
|
||||||
mutex_lock(&per_pin->lock);
|
mutex_lock(&per_pin->lock);
|
||||||
pin_eld->monitor_present = !!(present & AC_PINSENSE_PRESENCE);
|
pin_eld->monitor_present = !!(present & AC_PINSENSE_PRESENCE);
|
||||||
|
eld->monitor_present = pin_eld->monitor_present;
|
||||||
|
|
||||||
if (pin_eld->monitor_present)
|
if (pin_eld->monitor_present)
|
||||||
eld->eld_valid = !!(present & AC_PINSENSE_ELDV);
|
eld->eld_valid = !!(present & AC_PINSENSE_ELDV);
|
||||||
else
|
else
|
||||||
|
Loading…
Reference in New Issue
Block a user