[PATCH 2/4] irqchip/gic-v3-its: Implement .msi_teardown() callback
Thomas Gleixner
tglx at linutronix.de
Mon May 12 07:34:59 PDT 2025
On Sun, May 11 2025 at 17:35, Marc Zyngier wrote:
> We currently nuke the structure representing an endpoint device
How is we? We means nothing as you know :)
> translating via an ITS on freeing the last LPI allocated for it.
>
> That's an unfortunate state of affair, as it is pretty common for
> a driver to allocate a single MSI, do something clever, teardown
> this MSI, and reallocate a whole bunch of them. The nvme driver
> does exactly that, amongst others.
>
> What happens in that case is that the core code is buggy enough
> to issue another .msi_prepare() call, even if it shouldn't.
> This luckily cancels the above behaviour and hides the problem.
>
> In order to fix the core code, let's start by implementing the new
s/let's//
I really have to understand why everyone is so fond of "let's". It only
makes limited sense when the patch is proposed, but in a change log it
does not make sense at all.
> .msi_teardown() callback. Nothing calls it yet, so a side effect
> is that the its_dev structure will not be freed and that the DID
> will stay mapped. Not a big deal, and this will be solved in the
> following patch.
Now I see why you added this incomprehensible condition into the core
code. Bah.
Why don't you add this callback once you changed the prepare muck, which
introduces info::alloc_data?
Thanks,
tglx
More information about the linux-arm-kernel
mailing list