drm/edid: check basic audio support on CEA extension block
authorjsg <jsg@openbsd.org>
Mon, 11 Apr 2022 03:29:27 +0000 (03:29 +0000)
committerjsg <jsg@openbsd.org>
Mon, 11 Apr 2022 03:29:27 +0000 (03:29 +0000)
From Cooper Chiou
6e72980d588e220adbc2469181735399ceb9f9a8 in linux 5.15.y/5.15.33
5662abf6e21338be6d085d6375d3732ac6147fd2 in mainline linux

sys/dev/pci/drm/drm_edid.c

index 7b72f23..9e5ad50 100644 (file)
@@ -4790,7 +4790,8 @@ bool drm_detect_monitor_audio(struct edid *edid)
        if (!edid_ext)
                goto end;
 
-       has_audio = ((edid_ext[3] & EDID_BASIC_AUDIO) != 0);
+       has_audio = (edid_ext[0] == CEA_EXT &&
+                   (edid_ext[3] & EDID_BASIC_AUDIO) != 0);
 
        if (has_audio) {
                DRM_DEBUG_KMS("Monitor has basic audio support\n");