From: Jerome Glisse Date: Fri, 9 Nov 2007 16:28:56 +0000 (+0100) Subject: drm: check edid data, so we deal well with broken driver. X-Git-Tag: submit/1.0/20121108.012404~642^2~353 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=e1bc147ac9aa8ac2ac271b0a21f4138b17875ce5;p=profile%2Fivi%2Flibdrm.git drm: check edid data, so we deal well with broken driver. --- diff --git a/linux-core/drm_edid.c b/linux-core/drm_edid.c index b8eee1a..7068cef 100644 --- a/linux-core/drm_edid.c +++ b/linux-core/drm_edid.c @@ -469,6 +469,14 @@ int drm_add_edid_modes(struct drm_output *output, struct edid *edid) { int num_modes = 0; + if (edid == NULL) { + return 0; + } + if (!edid_valid(edid)) { + dev_warn(&output->dev->pdev->dev, "%s: EDID invalid.\n", + output->name); + return 0; + } num_modes += add_established_modes(output, edid); num_modes += add_standard_modes(output, edid); num_modes += add_detailed_info(output, edid);