In DisplayID v2.0 CTS data block 0x81 case, there is no any audio information definition, but drm_detect_monitor_audio didn't filter it so that it caused eDP dummy audio card be detected improperly.
We observed this issue on some AUO/BOE eDP panel with DID v2.0 CTA block, and fix issue by adding filter for edid_ext[0]=DATA_BLOCK_CTA case. Cc: Jani Nikula <[email protected]> Cc: Shawn C Lee <[email protected]> Signed-off-by: Cooper Chiou <[email protected]> --- drivers/gpu/drm/drm_edid.c | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c index f5f5de362ff2..6c9ae4b130bd 100644 --- a/drivers/gpu/drm/drm_edid.c +++ b/drivers/gpu/drm/drm_edid.c @@ -4845,7 +4845,7 @@ bool drm_detect_monitor_audio(struct edid *edid) int start_offset, end_offset; edid_ext = drm_find_cea_extension(edid); - if (!edid_ext) + if (!edid_ext || (edid_ext[0] == DATA_BLOCK_CTA)) goto end; has_audio = ((edid_ext[3] & EDID_BASIC_AUDIO) != 0); -- 2.17.1
