Re: [PATCH v3 00/19] irqdomain: fix mapping race and clean up locking

From: Johan Hovold
Date: Mon Jan 16 2023 - 08:57:08 EST


On Thu, Dec 15, 2022 at 05:31:24PM +0800, Hsin-Yi Wang wrote:
> On Thu, Dec 15, 2022 at 5:22 PM Johan Hovold <johan+linaro@xxxxxxxxxx> wrote:
> >
> > Parallel probing (e.g. due to asynchronous probing) of devices that
> > share interrupts can currently result in two mappings for the same
> > hardware interrupt to be created.
> >
> > This series fixes this mapping race and clean up the irqdomain locking
> > so that in the end the global irq_domain_mutex is only used for managing
> > the likewise global irq_domain_list, while domain operations (e.g.
> > IRQ allocations) use per-domain (hierarchy) locking.

> Tested-by: Hsin-Yi Wang <hsinyi@xxxxxxxxxxxx>
>
> The series solves a race issue when having non-populated 2nd source
> components that share the same irq on ARM devices:
> Previously we would see
> [ 0.476357] irq: type mismatch, failed to map hwirq-11 for pinctrl@10005000!
> and the component failed to probe.

Thanks again for testing. I just sent a v4 adding a couple of clarifying
comments to the final patch.

Johan