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 <jani.nikula@xxxxxxxxx> Cc: Shawn C Lee <shawn.c.lee@xxxxxxxxx> Signed-off-by: Cooper Chiou <cooper.chiou@xxxxxxxxx> --- 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