diff --git a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c --- a/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c +++ b/sys/dev/drm/amd/display/amdgpu_dm/amdgpu_dm.c @@ -2966,8 +2966,10 @@ dm_crtc_destroy_state(crtc, crtc->state); state = kzalloc(sizeof(*state), GFP_KERNEL); - if (WARN_ON(!state)) + if (WARN_ON(!state)) { + crtc->state = NULL; return; + } crtc->state = &state->base; crtc->state->crtc = crtc; @@ -3207,6 +3209,8 @@ state->max_bpc = 8; __drm_atomic_helper_connector_reset(connector, &state->base); + } else { + connector->state = NULL; } } @@ -3437,6 +3441,8 @@ plane->state = &amdgpu_state->base; plane->state->plane = plane; plane->state->rotation = DRM_MODE_ROTATE_0; + } else { + plane->state = NULL; } }