]> git.ipfire.org Git - thirdparty/linux.git/commitdiff
drm/bridge: stm_lvds: Do not fail atomic_check on disabled connector
authorMarek Vasut <marex@nabladev.com>
Thu, 9 Apr 2026 02:48:41 +0000 (04:48 +0200)
committerRaphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
Mon, 13 Apr 2026 10:52:33 +0000 (12:52 +0200)
If the connector is disabled, the new connector state has .crtc field
set to NULL and there is nothing more to validate after that point.
The .crtc field being NULL is not an error. Test for .crtc being NULL,
and if it is NULL, exit early with return 0.

This fixes a failure in suspend/resume path, where the connector is
already disabled, but .atomic_check is called, fails, returns -EINVAL
and blocks the suspend entry.

Fixes: aca1cbc1c986 ("drm/stm: lvds: add new STM32 LVDS Display Interface Transmitter driver")
Signed-off-by: Marek Vasut <marex@nabladev.com>
Acked-by: Raphaƫl Gallais-Pou <raphael.gallais-pou@foss.st.com>
Link: https://patch.msgid.link/20260409024928.344010-1-marex@nabladev.com
Signed-off-by: Raphael Gallais-Pou <raphael.gallais-pou@foss.st.com>
drivers/gpu/drm/stm/lvds.c

index fe38c0984b2b552e1ccaef4d1e589b9d86a40ee3..25e2ba98f36aeaaf6cde3bb03b878b026a5038dc 100644 (file)
@@ -897,14 +897,14 @@ static int lvds_connector_atomic_check(struct drm_connector *connector,
        if (!conn_state)
                return -EINVAL;
 
+       if (!conn_state->crtc)
+               return 0;
+
        if (list_empty(&connector->modes)) {
                drm_dbg(connector->dev, "connector: empty modes list\n");
                return -EINVAL;
        }
 
-       if (!conn_state->crtc)
-               return -EINVAL;
-
        panel_mode = list_first_entry(&connector->modes,
                                      struct drm_display_mode, head);