drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set
authorDaniel Vetter <daniel.vetter@ffwll.ch>
Thu, 2 Jul 2015 13:16:39 +0000 (15:16 +0200)
committerDaniel Vetter <daniel.vetter@ffwll.ch>
Fri, 3 Jul 2015 07:15:50 +0000 (09:15 +0200)
commitce14ec20a1ffcd356f578036617d657be8429c00
tree6de0d8ae406fd66953de4e266c2b5f1348a9cf2a
parenta9cc54eeba635d2feb2ed4bf43d4ea4e08e7e0a9
drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set

In

commit 9f658b7b62e7aefc1ee067136126eca3f58cabfd
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: Daniel Vetter <daniel.vetter@intel.com>
Reviewed-by: Daniel Stone <daniels@collabora.com>
Reported-and-tested-by: John Hunter <zhaojunwang@pku.edu.cn>
Signed-off-by: Daniel Vetter <daniel.vetter@ffwll.ch>
drivers/gpu/drm/drm_crtc_helper.c