Re: tps65219/am62p kernel oops

Francesco Dolcini
2025-12-10T08:10:20Z

Hello Shree,

On Tue, Dec 09, 2025 at 12:16:05PM -0600, Shree Ramamoorthy wrote:
> On 12/9/25 7:43 AM, Francesco Dolcini wrote:
> > On Thu, May 01, 2025 at 10:32:12AM -0500, Shree Ramamoorthy wrote:
> > > On 4/30/25 5:21 AM, Francesco Dolcini wrote:
> > > > On Wed, Apr 30, 2025 at 10:01:14AM +0200, Francesco Dolcini wrote:
> > > > > On Tue, Apr 29, 2025 at 06:52:40PM +0200, Andreas Kemnade wrote:
> > > > > > Am Tue, 29 Apr 2025 15:21:19 +0200
> > > > > > schrieb Francesco Dolcini <francesco@dolcini.it>:
> > > > > > > This oops was reproduced running current Linux
> > > > > > > master, 6.15.0-rc4+, ca91b9500108d4cf083a635c2e11c884d5dd20ea, but I was able
> > > > > > > to reproduce the same with 6.14.4.
> > > > > > >
> > > > > > [...]
> > > > > > > [ +0.000022] Call trace:
> > > > > > > [ +0.000011] regulator_notifier_call_chain+0x20/0xa4 (P)
> > > > > > > [ +0.000018] tps65219_regulator_irq_handler+0x34/0x80
> > > > > > wild guessing: maybe because irqdata->rdev is not initalized in
> > > > > > _probe()? At least I do not see where it would be initialized.
> > > > > your wild guess seems correct, I'll send a proper patch with your
> > > > > suggested-by after doing a couple of more tests, thanks.
> > > > so, the bug is clear, however the fix is not an obvious one liner as I was
> > > > wishing.
> > > >
> > > > we would need to add a link from each of the interrupts to the specific
> > > > regulator. as of now such a connection is not existing in the code.
> > > I'll try out implementing and testing the solution, but will get
> > > to it early next week. Will email with any updates!
> > What's the status on this? Were you able to do any progress or work on
> > it?
>
> Thanks for following up on this, the task got lost on my end. My
> apologies! The original line deleted `irq_data[i].rdev = rdev;` was
> never replaced. The correct code should be re-implementing a version
> of the tps65219_get_rdev_by_name() function that was removed in commit
> 64a6b57 & add in irq_data.rdev = rdev;` where the other irq_data
> fields are being assigned within _probe.
>
> Is there anything missing with this solution?

I am not really familiar with the code, I just looked at it once when
I did hit this bug. I would say to just send such a patch.

Francesco