diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 326f28e04aab73fe1a949399046c4109032e1cb8..0acb83a637276685856f26f58813ea5df1f51ffa 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -1383,7 +1383,7 @@ drm_est3_modes(struct drm_connector *connector, struct detailed_timing *timing)
 	for (i = 0; i < 6; i++) {
 		for (j = 7; j > 0; j--) {
 			m = (i * 8) + (7 - j);
-			if (m > num_est3_modes)
+			if (m >= num_est3_modes)
 				break;
 			if (est[i] & (1 << j)) {
 				mode = drm_find_dmt(connector->dev,