Re: [PATCH] irqchip/gic-v3-its: Reconfigure ITS from software state on resume

From: Marc Zyngier

Date: Wed Jul 08 2026 - 06:31:41 EST


On Thu, 02 Jul 2026 12:57:15 +0100,
Bjoern Doebel <doebel@xxxxxxxxx> wrote:
>
> Hi all,
>
> gentle ping on this one.
>
> Since the original posting I've re-validated the fix against current
> mainline:
>
> - It still applies cleanly to v7.2-rc1 (and to v7.1.0).
>
> - I reproduced the original failure on *stock* v7.2-rc1. On EC2
> Graviton instances, hibernation resume fails 100% of the time: the
> ITS comes back reset, MAPD/MAPTI are never replayed, and the ENA
> NIC silently loses its LPIs:
>
> ena 0000:00:05.0: ... didn't receive a MSI-X interrupt (cmd 3)
> ena 0000:00:05.0: Failed to create IO CQ. error: -62
>

But how did the resumed kernel get there the first place? Surely you
had interrupts to load it, right?

> The instance then has no networking after resume.
>
> - With this patch applied, the same kernel survives hibernate/resume
> cleanly: 9/9 cycles with zero failures, across all three Graviton
> generations (Graviton 2/3/4, i.e. Neoverse N1/V1/V2), networking
> fully restored on every resume.
>
> As described in the previous message, this is the fallout from 713335b6ee29
> ("irqchip/gic-v3-its: Implement .msi_teardown() callback"): device
> teardown no longer happens across a suspend/resume that keeps the MSI
> domain, so the ITS is never reprogrammed and drops interrupts after the
> hardware has been reset.
>
> Could you take a look when you get a chance?

What I don't immediately see is how this particular patch influences
anything, given that at this point it isn't doing anything.

Beside that, how does hibernation actually influences LPIs being
released? Can you at least describe the sequence of events?

The other thing that worries me is that in general, (bare metal) GICv3
is unable to deal with hibernation, given that you can't reprogram the
property and pending table addresses. Yes, it *may* work if you are
lucky enough that the boot kernel and the resumed one use the same
memory regions, but this only show that you like playing Russian
roulette.

Thanks,

M.

--
Jazz isn't dead. It just smells funny.