lkml.org 
[lkml]   [2021]   [Jul]   [12]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 5.13 390/800] drm/bridge: Fix the stop condition of drm_bridge_chain_pre_enable()
    Date
    From: Douglas Anderson <dianders@chromium.org>

    [ Upstream commit bab5cca7e609952b069a550e39fe4893149fb658 ]

    The drm_bridge_chain_pre_enable() is not the proper opposite of
    drm_bridge_chain_post_disable(). It continues along the chain to
    _before_ the starting bridge. Let's fix that.

    Fixes: 05193dc38197 ("drm/bridge: Make the bridge chain a double-linked list")
    Signed-off-by: Douglas Anderson <dianders@chromium.org>
    Reviewed-by: Andrzej Hajda <a.hajda@samsung.com>
    Reviewed-by: Laurent Pinchart <laurent.pinchart@ideasonboard.com>
    Link: https://patchwork.freedesktop.org/patch/msgid/20210416153909.v4.1.If62a003f76a2bc4ccc6c53565becc05d2aad4430@changeid
    Signed-off-by: Sasha Levin <sashal@kernel.org>
    ---
    drivers/gpu/drm/drm_bridge.c | 3 +++
    1 file changed, 3 insertions(+)

    diff --git a/drivers/gpu/drm/drm_bridge.c b/drivers/gpu/drm/drm_bridge.c
    index 64f0effb52ac..044acd07c153 100644
    --- a/drivers/gpu/drm/drm_bridge.c
    +++ b/drivers/gpu/drm/drm_bridge.c
    @@ -522,6 +522,9 @@ void drm_bridge_chain_pre_enable(struct drm_bridge *bridge)
    list_for_each_entry_reverse(iter, &encoder->bridge_chain, chain_node) {
    if (iter->funcs->pre_enable)
    iter->funcs->pre_enable(iter);
    +
    + if (iter == bridge)
    + break;
    }
    }
    EXPORT_SYMBOL(drm_bridge_chain_pre_enable);
    --
    2.30.2


    \
     
     \ /
      Last update: 2021-07-12 11:09    [W:4.120 / U:0.904 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site