Merge drm/drm-next into drm-intel-next
[platform/kernel/linux-rpi.git] / drivers / gpu / drm / i915 / display / intel_dp.c
index 5694bc7..5c92222 100644 (file)
@@ -3442,7 +3442,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;