2021-12-02 07:34:37

by Kai-Heng Feng

[permalink] [raw]
Subject: [PATCH] ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present

There's a system that reports a bogus HDMI audio interface:
$ cat eld#2.0
monitor_present 1
eld_valid 1
monitor_name
connection_type DisplayPort
eld_version [0x2] CEA-861D or below
edid_version [0x3] CEA-861-B, C or D
manufacture_id 0xe430
product_id 0x690
port_id 0x0
support_hdcp 0
support_ai 0
audio_sync_delay 0
speakers [0xffff] FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC FLW/FRW FLH/FRH TC FCH
sad_count 0

Since playing audio is not possible without SAD, also consider ELD is
invalid for this case.

Signed-off-by: Kai-Heng Feng <[email protected]>
---
sound/pci/hda/patch_hdmi.c | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/sound/pci/hda/patch_hdmi.c b/sound/pci/hda/patch_hdmi.c
index 415701bd10ac8..e7c2f3167f311 100644
--- a/sound/pci/hda/patch_hdmi.c
+++ b/sound/pci/hda/patch_hdmi.c
@@ -1535,7 +1535,7 @@ static void update_eld(struct hda_codec *codec,
}
}

- if (!eld->eld_valid || eld->eld_size <= 0) {
+ if (!eld->eld_valid || eld->eld_size <= 0 || eld->info.sad_count <= 0) {
eld->eld_valid = false;
eld->eld_size = 0;
}
--
2.32.0



2021-12-02 08:03:42

by Takashi Iwai

[permalink] [raw]
Subject: Re: [PATCH] ALSA: hda/hdmi: Consider ELD is invalid when no SAD is present

On Thu, 02 Dec 2021 08:33:35 +0100,
Kai-Heng Feng wrote:
>
> There's a system that reports a bogus HDMI audio interface:
> $ cat eld#2.0
> monitor_present 1
> eld_valid 1
> monitor_name
> connection_type DisplayPort
> eld_version [0x2] CEA-861D or below
> edid_version [0x3] CEA-861-B, C or D
> manufacture_id 0xe430
> product_id 0x690
> port_id 0x0
> support_hdcp 0
> support_ai 0
> audio_sync_delay 0
> speakers [0xffff] FL/FR LFE FC RL/RR RC FLC/FRC RLC/RRC FLW/FRW FLH/FRH TC FCH
> sad_count 0
>
> Since playing audio is not possible without SAD, also consider ELD is
> invalid for this case.
>
> Signed-off-by: Kai-Heng Feng <[email protected]>

Thanks, applied.


Takashi