drm/i915/display: fix compiler warning about array overrun
[sfrench/cifs-2.6.git] / drivers / gpu / drm / i915 / display / intel_dp.c
index a560468765c0d46c5ff45902bcd7057c254cc7e9..6a2dee8cef1f16d530f9d6b3809385df91deda65 100644 (file)
@@ -3474,7 +3474,18 @@ intel_dp_check_mst_status(struct intel_dp *intel_dp)
        drm_WARN_ON_ONCE(&i915->drm, intel_dp->active_mst_links < 0);
 
        for (;;) {
-               u8 esi[DP_DPRX_ESI_LEN] = {};
+               /*
+                * The +2 is because DP_DPRX_ESI_LEN is 14, but we then
+                * pass in "esi+10" to drm_dp_channel_eq_ok(), which
+                * takes a 6-byte array. So we actually need 16 bytes
+                * here.
+                *
+                * Somebody who knows what the limits actually are
+                * should check this, but for now this is at least
+                * harmless and avoids a valid compiler warning about
+                * using more of the array than we have allocated.
+                */
+               u8 esi[DP_DPRX_ESI_LEN+2] = {};
                bool handled;
                int retry;