As the possible failure of the kzalloc(), crtc_state could be NULL pointer. Therefore, it should be better to check it in order to avoid the dereference of the NULL pointer, like the kzalloc() in vop_crtc_duplicate_state(). If fails, we can directly use the 'NULL' instead of the '&crtc_state->base' and __drm_atomic_helper_crtc_duplicate_state() will deal with it correctly. Fixes: dc0b408f5a87 ("drm/rockchip: allocate correct crtc state structure on reset") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/gpu/drm/rockchip/rockchip_drm_vop.c | 5 ++++- 1 file changed, 4 insertions(+), 1 deletion(-) diff --git a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c index 3e8d9e2d1b67..db672ff5e37b 100644 --- a/drivers/gpu/drm/rockchip/rockchip_drm_vop.c +++ b/drivers/gpu/drm/rockchip/rockchip_drm_vop.c @@ -1577,7 +1577,10 @@ static void vop_crtc_reset(struct drm_crtc *crtc) if (crtc->state) vop_crtc_destroy_state(crtc, crtc->state); - __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); + if (!crtc_state) + __drm_atomic_helper_crtc_reset(crtc, NULL); + else + __drm_atomic_helper_crtc_reset(crtc, &crtc_state->base); } #ifdef CONFIG_DRM_ANALOGIX_DP -- 2.25.1