Hi, Yongqiang: On Mon, 2022-03-14 at 15:42 +0800, Yongqiang Niu wrote: > if crtc event is null pointer, do not send vblank event This is a bug-fix, so add a Fixes tag here. > > Signed-off-by: Yongqiang Niu <yongqiang.niu@xxxxxxxxxxxx> > --- > drivers/gpu/drm/mediatek/mtk_drm_crtc.c | 3 +++ > 1 file changed, 3 insertions(+) > > diff --git a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > index d661edf7e0fe..265fed446628 100644 > --- a/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > +++ b/drivers/gpu/drm/mediatek/mtk_drm_crtc.c > @@ -92,6 +92,9 @@ static void mtk_drm_crtc_finish_page_flip(struct > mtk_drm_crtc *mtk_crtc) > struct drm_crtc *crtc = &mtk_crtc->base; > unsigned long flags; > > + if (!mtk_crtc->event) > + return; > + > spin_lock_irqsave(&crtc->dev->event_lock, flags); > drm_crtc_send_vblank_event(crtc, mtk_crtc->event); I think pending_needs_vblank is used to protect this situation. It seems that pending_needs_vblank should be protected by critical section. Regards, CK > drm_crtc_vblank_put(crtc);