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

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Hi, Yongqiang:

On Wed, 2022-05-11 at 18:08 +0800, yongqiang.niu wrote:
> 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.

It looks like that other driver access an invalid address which store
mtk_crtc->event, so mediatek drm driver has no bug and we should fix
the bug from other driver. This work around does not fix bug but just
hide the bug. So try to fix this bug in other driver.

Regards,
CK

> 
> > 
> > >  	drm_crtc_vblank_put(crtc);
> > 
> > 
> 
> 




[Index of Archives]     [Linux DRI Users]     [Linux Intel Graphics]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Yosemite News]     [Linux Kernel]     [Linux SCSI]     [XFree86]     [Linux USB Devel]     [Video for Linux]     [Linux Audio Users]     [Linux Kernel]     [Linux SCSI]     [XFree86]
  Powered by Linux