[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