[PATCH v1, 1/1] drm/mediatek: fixup crtc event null pointer issue

yongqiang.niu yongqiang.niu at mediatek.com
Wed May 11 03:08:45 PDT 2022


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 at mediatek.com>
> > ---
> >  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);
> 
> 


More information about the Linux-mediatek mailing list