Re: [PATCH] crypto: caam: simplify probe resource and IRQ handling

From: Rosen Penev

Date: Tue Sep 01 2026 - 16:39:22 EST


On Tue, Sep 1, 2026 at 12:45 PM Emanuele Ghidoli
<ghidoliemanuele@xxxxxxxxx> wrote:
>
> On Thu, Jul 30, 2026 at 01:47:22PM -0700, Rosen Penev wrote:
> > Replace the open-coded platform_get_resource() plus devm_ioremap()
> > sequence with devm_platform_ioremap_resource(), which fetches the
> > resource, requests the region and maps it in one call.
> >
> > Each fsl,sec-*-job-ring node has a distinct 0x10000 reg region and
> > interrupts property, so the region reservation added by
> > devm_ioremap_resource() is exclusive and does not introduce overlap
> > failures.
>
> This patch, now commit 9a955c0a7d11 in v7.3-rc1, breaks CAAM on most i.MX
> SoCs (i.MX6, i.MX7, i.MX8). All job rings fail to probe and the machine
> loses its hardware RNG:
Sent fix.
>
> caam_jr 30902000.jr: error -EBUSY: can't request region for resource [mem 0x30902000-0x30902fff]
> caam_jr 30902000.jr: probe with driver caam_jr failed with error -16
> caam_jr 30903000.jr: error -EBUSY: can't request region for resource [mem 0x30903000-0x30903fff]
> caam_jr 30903000.jr: probe with driver caam_jr failed with error -16
>
> The job rings do not overlap each other, but they all sit inside the reg
> window of their parent fsl,sec-v4.0 node, which caam_probe() already
> reserves exclusively via devm_of_iomap() before it populates the children.
> So each job ring now collides with its own parent.
>
> Seen on these boards (CI/CD):
> - apalis-imx6
> - apalis-imx8
> - colibri-imx6
> - colibri-imx7
> - colibri-imx8
> - verdin-imx8mm
> - verdin-imx8mp
>
> Reverting 9a955c0a7d11 on colibri-imx7 makes the errors disappear.
>
> #regzbot introduced: 9a955c0a7d11
>
> Thanks,
> Emanuele