On Wed, Aug 19, 2026 at 12:18 PM Rafael J. Wysocki (Intel)
<[email protected]> wrote:
>
> Hi Nathan,
>
> On Wed, Aug 19, 2026 at 2:37 AM Nathan Chancellor <[email protected]> wrote:
> >
> > Hi Rafael,
> >
> > On Fri, Aug 07, 2026 at 12:22:37PM +0200, Rafael J. Wysocki wrote:
> > > From: "Rafael J. Wysocki" <[email protected]>
> > >
> > > If acpi_dev_get_resources() returns overlapping I/O or memory resources,
> > > the subsequent registration of a platform device will fail with -EBUSY
> > > due to a resource conflict.  This is reported to happen on Acer Aspire
> > > ES1-572 [1].
> > >
> > > Avoid that by adjusting resources returned by acpi_dev_get_resources()
> > > to eliminate partial overlaps between them.
> > >
> > > This has not been regarded as necessary before because putting
> > > overlapping resources into the _CRS of one device is really pointless,
> > > but now that the issue has been reported to actually happen in the
> > > field, it needs to be done.
> > >
> > > Fixes: ab06eb920401 ("ACPI: scan: Register platform devices for fixed 
> > > event buttons")
> > > Reported-by: Julien <[email protected]>
> > > Closes: 
> > > https://lore.kernel.org/linux-integrity/cajogg3z6ljpdsdpnbxajgy8_wqxfhybrxe4eiurzf3kpu5a...@mail.gmail.com/
> > >  [1]
> > > Cc: All applicable <[email protected]>
> > > Signed-off-by: Rafael J. Wysocki <[email protected]>
> >
> > I bisected the following kernel message that I see on one of my aarch64
> > test machines to this change in -next as commit f234fdaae1ca ("ACPI:
> > scan: Avoid registering platform devices with resource overlaps"):
> >
> >   arm-cmn ARMHC600:00: probe with driver arm-cmn failed with error -22
> >
> > Is this expected? If not, what information would be helpful for debugging 
> > this?
>
> No, it is not.
>
> First, please send a boot log from the failing machine.
>
> Second, I think we may need the acpidump output from it.

So looking at the driver code, it expects to get two resources and it
is confused when it gets just one, so most likely arm_cmn_get_root()
fails.

I guess what happens is that originally one of the resources is within
the other one completely (or the creation of the platform device would
fail), which is kind of valid, so resource_overlaps() returns true for
them, and they get merged.  This means that
acpi_platform_adjust_resources() needs to look for partial overlaps
only.

I'll send a patch to adjust it later today.

Reply via email to