Loading drivers/gpu/drm/drm_edid.c +16 −6 Original line number Diff line number Diff line Loading @@ -123,16 +123,21 @@ static const u8 edid_header[] = { */ static bool edid_is_valid(struct edid *edid) { int i; int i, score = 0; u8 csum = 0; u8 *raw_edid = (u8 *)edid; if (memcmp(edid->header, edid_header, sizeof(edid_header))) goto bad; if (edid->version != 1) { DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); for (i = 0; i < sizeof(edid_header); i++) if (raw_edid[i] == edid_header[i]) score++; if (score == 8) ; else if (score >= 6) { DRM_DEBUG("Fixing EDID header, your hardware may be failing\n"); memcpy(raw_edid, edid_header, sizeof(edid_header)); } else goto bad; } for (i = 0; i < EDID_LENGTH; i++) csum += raw_edid[i]; if (csum) { Loading @@ -140,6 +145,11 @@ static bool edid_is_valid(struct edid *edid) goto bad; } if (edid->version != 1) { DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); goto bad; } if (edid->revision > 4) DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); Loading Loading
drivers/gpu/drm/drm_edid.c +16 −6 Original line number Diff line number Diff line Loading @@ -123,16 +123,21 @@ static const u8 edid_header[] = { */ static bool edid_is_valid(struct edid *edid) { int i; int i, score = 0; u8 csum = 0; u8 *raw_edid = (u8 *)edid; if (memcmp(edid->header, edid_header, sizeof(edid_header))) goto bad; if (edid->version != 1) { DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); for (i = 0; i < sizeof(edid_header); i++) if (raw_edid[i] == edid_header[i]) score++; if (score == 8) ; else if (score >= 6) { DRM_DEBUG("Fixing EDID header, your hardware may be failing\n"); memcpy(raw_edid, edid_header, sizeof(edid_header)); } else goto bad; } for (i = 0; i < EDID_LENGTH; i++) csum += raw_edid[i]; if (csum) { Loading @@ -140,6 +145,11 @@ static bool edid_is_valid(struct edid *edid) goto bad; } if (edid->version != 1) { DRM_ERROR("EDID has major version %d, instead of 1\n", edid->version); goto bad; } if (edid->revision > 4) DRM_DEBUG("EDID minor > 4, assuming backward compatibility\n"); Loading