diff --git a/drivers/gpu/drm/drm_atomic.c b/drivers/gpu/drm/drm_atomic.c index 35b7185ea363..8e61ab2a45ce 100644 --- a/drivers/gpu/drm/drm_atomic.c +++ b/drivers/gpu/drm/drm_atomic.c @@ -1598,8 +1598,12 @@ drm_atomic_set_crtc_for_plane(struct drm_plane_state *plane_state, struct drm_plane *plane = plane_state->plane; struct drm_crtc_state *crtc_state; /* Nothing to do for same crtc*/ - if (plane_state->crtc == crtc) + if (plane_state->crtc == crtc) { + WARN_ON(!(crtc_state->plane_mask & drm_plane_mask(plane))); + crtc_state->plane_mask |= drm_plane_mask(plane); return 0; + } + if (plane_state->crtc) { crtc_state = drm_atomic_get_crtc_state(plane_state->state, plane_state->crtc);