]> www.infradead.org Git - users/dwmw2/linux.git/commitdiff
drm/i915/dp: Fix potential infinite loop in 128b/132b SST
authorJani Nikula <jani.nikula@intel.com>
Tue, 4 Feb 2025 15:49:25 +0000 (17:49 +0200)
committerJani Nikula <jani.nikula@intel.com>
Wed, 5 Feb 2025 13:39:44 +0000 (15:39 +0200)
Passing 0 as the step only works when there are other reasons to break
out of the BPP loop in intel_dp_mtp_tu_compute_config(). Otherwise, an
infinite loop might occur. Fix it by explicitly checking for 0 step.

Fixes: ef0a0757bbea ("drm/i915/dp: compute config for 128b/132b SST w/o DSC")
Reported-by: Imre Deak <imre.deak@intel.com>
Closes: https://lore.kernel.org/r/Z6I0knh2Kt5T0JrT@ideak-desk.fi.intel.com
Reviewed-by: Imre Deak <imre.deak@intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20250204154925.3001781-1-jani.nikula@intel.com
Signed-off-by: Jani Nikula <jani.nikula@intel.com>
drivers/gpu/drm/i915/display/intel_dp_mst.c

index ff3ae5db4b54d843c7058a183bbd30ad5cb95f5d..cc6e4ca375193b0869d9df5e38aed65ab73d316b 100644 (file)
@@ -378,6 +378,10 @@ int intel_dp_mtp_tu_compute_config(struct intel_dp *intel_dp,
 
                        break;
                }
+
+               /* Allow using zero step to indicate one try */
+               if (!bpp_step_x16)
+                       break;
        }
 
        if (slots < 0) {