mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/stable/linux.git
synced 2024-09-07 11:28:32 +00:00
ALSA: hda - Fix superfluous HDMI jack repoll
The recent commit [e90247f9fc
: ALSA: hda - Split ELD update code from hdmi_present_sense()] rewrote the HDMI jack handling code, but a slight behavior change sneaked in unexpectedly. When the jack isn't connected, it tries repoll unnecessarily. This patch addresses the flaw, to the right behavior as before. Fixes:e90247f9fc
('ALSA: hda - Split ELD update code from hdmi_present_sense()') Reported-and-tested-by: David Henningsson <david.henningsson@canonical.com> Signed-off-by: Takashi Iwai <tiwai@suse.de>
This commit is contained in:
parent
55913110dd
commit
9a5e5234ba
1 changed files with 4 additions and 1 deletions
|
@ -1605,6 +1605,7 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
|
|||
*/
|
||||
int present;
|
||||
bool ret;
|
||||
bool do_repoll = false;
|
||||
|
||||
snd_hda_power_up_pm(codec);
|
||||
present = snd_hda_pin_sense(codec, pin_nid);
|
||||
|
@ -1629,9 +1630,11 @@ static bool hdmi_present_sense(struct hdmi_spec_per_pin *per_pin, int repoll)
|
|||
eld->eld_size) < 0)
|
||||
eld->eld_valid = false;
|
||||
}
|
||||
if (!eld->eld_valid && repoll)
|
||||
do_repoll = true;
|
||||
}
|
||||
|
||||
if (!eld->eld_valid && repoll)
|
||||
if (do_repoll)
|
||||
schedule_delayed_work(&per_pin->work, msecs_to_jiffies(300));
|
||||
else
|
||||
update_eld(codec, per_pin, eld);
|
||||
|
|
Loading…
Reference in a new issue