drm/i915/sdvo: Check that we have space for the infoframe
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 10 Apr 2019 17:08:35 +0000 (20:08 +0300)
committerVille Syrjälä <ville.syrjala@linux.intel.com>
Fri, 7 Jun 2019 17:40:14 +0000 (20:40 +0300)
Before we go writing the infoframe let's make sure we have
the space for it. Not that it really matters since the write
loop would just terminate early in that case.

v2: Check after the debug print and ++ (Chris)

Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Reviewed-by: Chris Wilson <chris@chris-wilson.co.uk>
Link: https://patchwork.freedesktop.org/patch/msgid/20190410170835.18867-1-ville.syrjala@linux.intel.com
Reviewed-by: Radhakrishna Sripada <radhakrishna.sripada@intel.com>
drivers/gpu/drm/i915/intel_sdvo.c

index 899f827..bc1ef16 100644 (file)
@@ -980,6 +980,9 @@ static bool intel_sdvo_write_infoframe(struct intel_sdvo *intel_sdvo,
        DRM_DEBUG_KMS("writing sdvo hbuf: %i, hbuf_size %i, hbuf_size: %i\n",
                      if_index, length, hbuf_size);
 
+       if (hbuf_size < length)
+               return false;
+
        for (i = 0; i < hbuf_size; i += 8) {
                memset(tmp, 0, 8);
                if (i < length)