@@ -163,6 +163,9 @@ static void exynos_plane_atomic_update(struct drm_plane *plane,
struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(state->crtc);
struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
+ if (!state->crtc)
+ return;
+
exynos_plane_mode_set(plane, state->crtc, state->fb,
state->crtc_x, state->crtc_y,
state->crtc_w, state->crtc_h,
@@ -179,6 +182,9 @@ static void exynos_plane_atomic_disable(struct drm_plane *plane,
struct exynos_drm_plane *exynos_plane = to_exynos_plane(plane);
struct exynos_drm_crtc *exynos_crtc = to_exynos_crtc(old_state->crtc);
+ if (!old_state->crtc)
+ return;
+
if (exynos_crtc->ops->disable_plane)
exynos_crtc->ops->disable_plane(exynos_crtc,
exynos_plane->zpos);