Patch "drm/meson: Don't remove bridges which are created by other drivers" has been added to the 6.1-stable tree

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



This is a note to let you know that I've just added the patch titled

    drm/meson: Don't remove bridges which are created by other drivers

to the 6.1-stable tree which can be found at:
    http://www.kernel.org/git/?p=linux/kernel/git/stable/stable-queue.git;a=summary

The filename of the patch is:
     drm-meson-don-t-remove-bridges-which-are-created-by-.patch
and it can be found in the queue-6.1 subdirectory.

If you, or anyone else, feels it should not be added to the stable tree,
please let <stable@xxxxxxxxxxxxxxx> know about it.



commit 8570bba2179af0db25e4e55e97d9cc2dd15fa6f4
Author: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
Date:   Thu Feb 15 23:04:42 2024 +0100

    drm/meson: Don't remove bridges which are created by other drivers
    
    [ Upstream commit bd915ae73a2d78559b376ad2caf5e4ef51de2455 ]
    
    Stop calling drm_bridge_remove() for bridges allocated/managed by other
    drivers in the remove paths of meson_encoder_{cvbs,dsi,hdmi}.
    drm_bridge_remove() unregisters the bridge so it cannot be used
    anymore. Doing so for bridges we don't own can lead to the video
    pipeline not being able to come up after -EPROBE_DEFER of the VPU
    because we're unregistering a bridge that's managed by another driver.
    The other driver doesn't know that we have unregistered it's bridge
    and on subsequent .probe() we're not able to find those bridges anymore
    (since nobody re-creates them).
    
    This fixes probe errors on Meson8b boards with the CVBS outputs enabled.
    
    Fixes: 09847723c12f ("drm/meson: remove drm bridges at aggregate driver unbind time")
    Fixes: 42dcf15f901c ("drm/meson: add DSI encoder")
    Cc:  <stable@xxxxxxxxxxxxxxx>
    Reported-by: Steve Morvai <stevemorvai@xxxxxxxxxxx>
    Signed-off-by: Martin Blumenstingl <martin.blumenstingl@xxxxxxxxxxxxxx>
    Reviewed-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    Tested-by: Steve Morvai <stevemorvai@xxxxxxxxxxx>
    Link: https://lore.kernel.org/r/20240215220442.1343152-1-martin.blumenstingl@xxxxxxxxxxxxxx
    Reviewed-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    Signed-off-by: Neil Armstrong <neil.armstrong@xxxxxxxxxx>
    Link: https://patchwork.freedesktop.org/patch/msgid/20240215220442.1343152-1-martin.blumenstingl@xxxxxxxxxxxxxx
    Signed-off-by: Sasha Levin <sashal@xxxxxxxxxx>

diff --git a/drivers/gpu/drm/meson/meson_encoder_cvbs.c b/drivers/gpu/drm/meson/meson_encoder_cvbs.c
index 3f73b211fa8e3..3407450435e20 100644
--- a/drivers/gpu/drm/meson/meson_encoder_cvbs.c
+++ b/drivers/gpu/drm/meson/meson_encoder_cvbs.c
@@ -294,6 +294,5 @@ void meson_encoder_cvbs_remove(struct meson_drm *priv)
 	if (priv->encoders[MESON_ENC_CVBS]) {
 		meson_encoder_cvbs = priv->encoders[MESON_ENC_CVBS];
 		drm_bridge_remove(&meson_encoder_cvbs->bridge);
-		drm_bridge_remove(meson_encoder_cvbs->next_bridge);
 	}
 }
diff --git a/drivers/gpu/drm/meson/meson_encoder_hdmi.c b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
index b14e6e507c61b..03062e7a02b64 100644
--- a/drivers/gpu/drm/meson/meson_encoder_hdmi.c
+++ b/drivers/gpu/drm/meson/meson_encoder_hdmi.c
@@ -472,6 +472,5 @@ void meson_encoder_hdmi_remove(struct meson_drm *priv)
 	if (priv->encoders[MESON_ENC_HDMI]) {
 		meson_encoder_hdmi = priv->encoders[MESON_ENC_HDMI];
 		drm_bridge_remove(&meson_encoder_hdmi->bridge);
-		drm_bridge_remove(meson_encoder_hdmi->next_bridge);
 	}
 }




[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Linux USB Devel]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]

  Powered by Linux