[REGRESSION] NVIDIA ION graphics broken with Linux 6.16-rc*

Jamie Heilman jamie at audible.transient.net
Mon Jul 14 02:44:42 UTC 2025


Jamie Heilman wrote:
> Ben Skeggs wrote:
> > On 7/9/25 09:16, Jamie Heilman wrote:
> > > Rui Salvaterra wrote:
> > > > Unfortunately, bisecting is not feasible for me.
> > > That looks pretty similar to the problem I posted
> > > (https://lore.kernel.org/lkml/aElJIo9_Se6tAR1a@audible.transient.net/)
> > > that I bisected to 862450a85b85 ("drm/nouveau/gf100-: track chan
> > > progress with non-WFI semaphore release").  It still reverts cleanly
> > > as of v6.16-rc5 so you might want to give that a shot.
> > 
> > Hi,
> > 
> > Thank you for bisecting!  Are you able to try the attached patch?
> 
> Yeah that got graphics visible again for me, though there's something
> else horrible going on now (still? I'm not sure if its new behavior or
> not) and it blows out my dmesg ringbuffer with errors or warnings of
> some kind, that I was just about to start trying to debug that when
> some power event seems to have fried my PSU.  Combined with a bunch of
> filesystem corruption, its going to be a while a before I can get that
> system back up to that spot where I can troubleshoot it again, the
> root volume is fried and I'm going to have rebuild.  Anyway, I think
> whatever it is was probably an entirely separate issue.

OK, validated, this solves the problem for me completely too.  (The
other traces were a byproduct of my userspace doing the wrong thing
when putting together a partitioned-md / lvm stack and the resulting
filesystem corruption.)

> > From 6987c1c254285305fdc20270e21709a313632e0d Mon Sep 17 00:00:00 2001
> > From: Ben Skeggs <bskeggs at nvidia.com>
> > Date: Wed, 9 Jul 2025 10:54:15 +1000
> > Subject: [PATCH] drm/nouveau/nvif: fix null ptr deref on pre-fermi boards
> > 
> > Check that gpfifo.post() exists before trying to call it.
> > 
> > Fixes: 862450a85b85 ("drm/nouveau/gf100-: track chan progress with non-WFI semaphore release")
> > Signed-off-by: Ben Skeggs <bskeggs at nvidia.com>
> > ---
> >  drivers/gpu/drm/nouveau/nvif/chan.c | 3 +++
> >  1 file changed, 3 insertions(+)
> > 
> > diff --git a/drivers/gpu/drm/nouveau/nvif/chan.c b/drivers/gpu/drm/nouveau/nvif/chan.c
> > index baa10227d51a..80c01017d642 100644
> > --- a/drivers/gpu/drm/nouveau/nvif/chan.c
> > +++ b/drivers/gpu/drm/nouveau/nvif/chan.c
> > @@ -39,6 +39,9 @@ nvif_chan_gpfifo_post(struct nvif_chan *chan)
> >  	const u32 pbptr = (chan->push.cur - map) + chan->func->gpfifo.post_size;
> >  	const u32 gpptr = (chan->gpfifo.cur + 1) & chan->gpfifo.max;
> >  
> > +	if (!chan->func->gpfifo.post)
> > +		return 0;
> > +
> >  	return chan->func->gpfifo.post(chan, gpptr, pbptr);
> >  }
> >  
> > -- 
> > 2.49.0

-- 
Jamie Heilman                     http://audible.transient.net/~jamie/


More information about the dri-devel mailing list