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 899f8278d29c5e497d67cf0463c60fe82015c4ab..bc1ef161df32fb4715944f558f2d289160e9c22c 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)