On Fri, 16 Jan 2026, Kaushlendra Kumar <[email protected]> wrote:
> intel_crtc_for_pipe() may return NULL in teardown/error paths.
> Add a NULL check in intel_wait_for_vblank_if_active() to avoid
> dereferencing a missing CRTC and rare NULL deref panics.
Do you have the backtrace?
BR,
Jani.
>
> Fixes: 92e9624ad946 ("drm/i915/crtc: un-inline some crtc functions and move
> to intel_crtc.[ch]")
> Signed-off-by: Kaushlendra Kumar <[email protected]>
> ---
> drivers/gpu/drm/i915/display/intel_crtc.c | 2 +-
> 1 file changed, 1 insertion(+), 1 deletion(-)
>
> diff --git a/drivers/gpu/drm/i915/display/intel_crtc.c
> b/drivers/gpu/drm/i915/display/intel_crtc.c
> index 9d2a23c96c61..9eb158737c1c 100644
> --- a/drivers/gpu/drm/i915/display/intel_crtc.c
> +++ b/drivers/gpu/drm/i915/display/intel_crtc.c
> @@ -74,7 +74,7 @@ void intel_wait_for_vblank_if_active(struct intel_display
> *display,
> {
> struct intel_crtc *crtc = intel_crtc_for_pipe(display, pipe);
>
> - if (crtc->active)
> + if (crtc && crtc->active)
> intel_crtc_wait_for_next_vblank(crtc);
> }
--
Jani Nikula, Intel