On Mon, 2022-03-28 at 17:34 +0800, CK Hu wrote: > 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. Fixes tag will be added in next version. > > > > > 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 actually, in the NG case pending_needs_vblank is true, but crtc->event is null. > > > drm_crtc_vblank_put(crtc); > >