• Daniel Vetter's avatar
    drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set · ce14ec20
    Daniel Vetter authored
    In
    
    commit 9f658b7b
    Author: Daniel Stone <daniels@collabora.com>
    Date:   Fri May 22 13:34:45 2015 +0100
    
        drm/crtc_helper: Replace open-coded CRTC state helpers
    
    error handling code was broken, resulting in the first path not being
    checked correctly. Fix this by using the same pattern as in the
    transitional plane helper function drm_plane_helper_update.
    
    v2: Simplify the cleanup code while at it too.
    
    v3: After some debugging with John we realized that the above patch
    from Daniel also accidentally removed the if (crtc_state) check. This
    is legal when transitioning to atomic, when the initial state reset
    isn't all wired up yet properly. Reinstate that check to fix the bug
    John has hit.
    
    Cc: Daniel Stone <daniels@collabora.com>
    CC: Sean Paul <seanpaul@chromium.org>
    Cc: John Hunter <zhaojunwang@pku.edu.cn>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@intel.com>
    Reviewed-by: default avatarDaniel Stone <daniels@collabora.com>
    Reported-and-tested-by: default avatarJohn Hunter <zhaojunwang@pku.edu.cn>
    Signed-off-by: default avatarDaniel Vetter <daniel.vetter@ffwll.ch>
    ce14ec20
drm_crtc_helper.c 30.4 KB