drm/amd/display: Treat bad EDID as no EDID

We have an mst dock firmware that will emulate an EDID with bad
checksum.

v2: Tread -> Treat

Signed-off-by: Eric Yang <Eric.Yang2@amd.com>
Reviewed-by: Tony Cheng <Tony.Cheng@amd.com>
Acked-by: Harry Wentland <harry.wentland@amd.com>
Signed-off-by: Alex Deucher <alexander.deucher@amd.com>
This commit is contained in:
Eric Yang 2018-02-08 14:05:14 -05:00 committed by Alex Deucher
parent 05a2e8315f
commit 6531738842

View File

@ -1637,12 +1637,17 @@ struct dc_sink *dc_link_add_remote_sink(
&dc_sink->dc_edid,
&dc_sink->edid_caps);
if (edid_status != EDID_OK)
goto fail;
/*
* Treat device as no EDID device if EDID
* parsing fails
*/
if (edid_status != EDID_OK) {
dc_sink->dc_edid.length = 0;
dm_error("Bad EDID, status%d!\n", edid_status);
}
return dc_sink;
fail:
dc_link_remove_remote_sink(link, dc_sink);
fail_add_sink:
dc_sink_release(dc_sink);
return NULL;