[PATCH 2/2] drm/edid: Have cea_db_offsets() zero start/end when the data block collection isn't found

Ville Syrjala ville.syrjala at linux.intel.com
Mon Sep 2 13:15:46 UTC 2019


From: Ville Syrjälä <ville.syrjala at linux.intel.com>

Let's make cea_db_offsets() a bit more convenient to use by
setting the start/end offsets to zero whenever the data block
collection isn't present. This makes it safe for the caller
to blindly iterate the data blocks even if there are none.

Cc: Jean Delvare <jdelvare at suse.de>
Signed-off-by: Ville Syrjälä <ville.syrjala at linux.intel.com>
---
 drivers/gpu/drm/drm_edid.c | 8 ++++----
 1 file changed, 4 insertions(+), 4 deletions(-)

diff --git a/drivers/gpu/drm/drm_edid.c b/drivers/gpu/drm/drm_edid.c
index 7b3072fc550b..e5905dc764c1 100644
--- a/drivers/gpu/drm/drm_edid.c
+++ b/drivers/gpu/drm/drm_edid.c
@@ -3690,6 +3690,9 @@ cea_revision(const u8 *cea)
 static int
 cea_db_offsets(const u8 *cea, int *start, int *end)
 {
+	*start = 0;
+	*end = 0;
+
 	if (cea_revision(cea) < 3)
 		return -ENOTSUPP;
 
@@ -4116,10 +4119,7 @@ static void drm_edid_to_eld(struct drm_connector *connector, struct edid *edid)
 	if (cea_revision(cea) >= 3) {
 		int i, start, end;
 
-		if (cea_db_offsets(cea, &start, &end)) {
-			start = 0;
-			end = 0;
-		}
+		cea_db_offsets(cea, &start, &end);
 
 		for_each_cea_db(cea, i, start, end) {
 			db = &cea[i];
-- 
2.21.0



More information about the dri-devel mailing list