Merge drm/drm-next into drm-misc-next
[linux-block.git] / drivers / gpu / drm / drm_atomic_helper.c
index 284a5d2bc11d3529c8c5be6eb56bd4c6bc065b7e..2c23a48482da4445d9ca3e4c280d7b9d853431d2 100644 (file)
@@ -1538,8 +1538,9 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
 {
        struct drm_crtc *crtc;
        struct drm_crtc_state *crtc_state;
-       struct drm_plane *plane;
-       struct drm_plane_state *old_plane_state, *new_plane_state;
+       struct drm_plane *plane = NULL;
+       struct drm_plane_state *old_plane_state = NULL;
+       struct drm_plane_state *new_plane_state = NULL;
        const struct drm_plane_helper_funcs *funcs;
        int i, n_planes = 0;
 
@@ -1555,7 +1556,8 @@ int drm_atomic_helper_async_check(struct drm_device *dev,
        if (n_planes != 1)
                return -EINVAL;
 
-       if (!new_plane_state->crtc)
+       if (!new_plane_state->crtc ||
+           old_plane_state->crtc != new_plane_state->crtc)
                return -EINVAL;
 
        funcs = plane->helper_private;