[PATCH] drm/crtc-helper: Fixup error handling in drm_helper_crtc_mode_set
Daniel Stone
daniels at collabora.com
Thu Jul 2 02:01:31 PDT 2015
Hi,
On Thu, 2015-07-02 at 09:23 +0200, Daniel Vetter wrote:
> In
>
> commit 9f658b7b62e7aefc1ee067136126eca3f58cabfd
> Author: Daniel Stone <daniels at 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.
>
> @@ -927,15 +927,13 @@ int drm_helper_crtc_mode_set(struct drm_crtc
> *crtc, struct drm_display_mode *mod
>
> if (crtc->funcs->atomic_duplicate_state)
> crtc_state = crtc->funcs
> ->atomic_duplicate_state(crtc);
> - else {
> + else if (crtc->state)
> + crtc_state =
> drm_atomic_helper_crtc_duplicate_state(crtc);
> + else
> crtc_state = kzalloc(sizeof(*crtc_state),
> GFP_KERNEL);
> - if (!crtc_state)
> - return -ENOMEM;
> - if (crtc->state)
> - __drm_atomic_helper_crtc_duplicate_state(crt
> c, crtc_state);
> - else
> - crtc_state->crtc = crtc;
Isn't this line (the crtc_state->crtc) assignment now missing from the
kzalloc branch?
With that fixed:
Reviewed-by: Daniel Stone <daniels at collabora.com>
Cheers,
Daniel
More information about the dri-devel
mailing list