drm/i915/sdvo: Grab mode_config.mutex during LVDS init to avoid WARNs
authorVille Syrjälä <ville.syrjala@linux.intel.com>
Wed, 26 Oct 2022 10:11:29 +0000 (13:11 +0300)
committerTvrtko Ursulin <tvrtko.ursulin@intel.com>
Mon, 31 Oct 2022 14:09:15 +0000 (14:09 +0000)
drm_mode_probed_add() is unhappy about being called w/o
mode_config.mutex. Grab it during LVDS fixed mode setup
to silence the WARNs.

Cc: stable@vger.kernel.org
Closes: https://gitlab.freedesktop.org/drm/intel/-/issues/7301
Fixes: aa2b88074a56 ("drm/i915/sdvo: Fix multi function encoder stuff")
Signed-off-by: Ville Syrjälä <ville.syrjala@linux.intel.com>
Link: https://patchwork.freedesktop.org/patch/msgid/20221026101134.20865-4-ville.syrjala@linux.intel.com
Reviewed-by: Jani Nikula <jani.nikula@intel.com>
(cherry picked from commit a3cd4f447281c56377de2ee109327400eb00668d)
Signed-off-by: Tvrtko Ursulin <tvrtko.ursulin@intel.com>
drivers/gpu/drm/i915/display/intel_sdvo.c

index 8ee7b05..774c1dc 100644 (file)
@@ -2900,8 +2900,12 @@ intel_sdvo_lvds_init(struct intel_sdvo *intel_sdvo, int device)
        intel_panel_add_vbt_sdvo_fixed_mode(intel_connector);
 
        if (!intel_panel_preferred_fixed_mode(intel_connector)) {
+               mutex_lock(&i915->drm.mode_config.mutex);
+
                intel_ddc_get_modes(connector, &intel_sdvo->ddc);
                intel_panel_add_edid_fixed_modes(intel_connector, false);
+
+               mutex_unlock(&i915->drm.mode_config.mutex);
        }
 
        intel_panel_init(intel_connector);