]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/i915/dp_mst: Fix ww mutex lock failure in for_each_joiner_candidate() loop
authorImre Deak <imre.deak@intel.com>
Wed, 18 Feb 2026 10:57:08 +0000 (12:57 +0200)
committerImre Deak <imre.deak@intel.com>
Thu, 19 Feb 2026 08:00:48 +0000 (10:00 +0200)
Handle modeset WW mutex lock failures due to contention properly.
Return -EDEADLK to the caller instead of attempting to lock the same
mutex again in a subsequent joiner candidate iteration, where the WW
mutex is already in a contended state.

This fixes the following warning:

WARNING: drivers/gpu/drm/drm_modeset_lock.c:298 at modeset_lock+0x1c0/0x210

triggered by ctx->contended.

Cc: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Fixes: b506a8e18c972 ("drm/i915/dp_mst: Rework pipe joiner logic in compute_config")
Reviewed-by: Ankit Nautiyal <ankit.k.nautiyal@intel.com>
Signed-off-by: Imre Deak <imre.deak@intel.com>
Link: https://patch.msgid.link/20260218105708.845161-2-imre.deak@intel.com
drivers/gpu/drm/i915/display/intel_dp_mst.c

index f833f47643271b29410279d08f70e16bf8a9f9f8..94c02314266422395231d64090d1a51bd18e6b00 100644 (file)
@@ -729,7 +729,7 @@ static int mst_stream_compute_config(struct intel_encoder *encoder,
                                                               pipe_config,
                                                               conn_state,
                                                               num_joined_pipes);
-               if (ret == 0)
+               if (ret == 0 || ret == -EDEADLK)
                        break;
        }