Re: [PATCH v3] ACPI: scan: Avoid registering platform devices with resource overlaps

From: Rafael J. Wysocki (Intel)

Date: Wed Aug 19 2026 - 15:54:38 EST


On Wed, Aug 19, 2026 at 9:40 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
>
> On Wed, Aug 19, 2026 at 09:00:09PM +0200, Rafael J. Wysocki (Intel) wrote:
> > On Wed, Aug 19, 2026 at 7:32 PM Nathan Chancellor <nathan@xxxxxxxxxx> wrote:
> > >
> > > On Wed, Aug 19, 2026 at 03:55:43PM +0200, Rafael J. Wysocki wrote:
> > > > And below is one to try.
> > > >
> > > > ---
> > > > drivers/acpi/acpi_platform.c | 7 ++++++-
> > > > 1 file changed, 6 insertions(+), 1 deletion(-)
> > > >
> > > > --- a/drivers/acpi/acpi_platform.c
> > > > +++ b/drivers/acpi/acpi_platform.c
> > > > @@ -85,7 +85,12 @@ static unsigned int acpi_platform_adjust
> > > > for (i = 0; i < count; ) {
> > > > struct resource *res = &resources[i];
> > > >
> > > > - if (resource_type(new_res) != resource_type(res) ||
> > > > + /*
> > > > + * Look for overlaps of resources of the same type that
> > > > + * would cause resource insertion to fail.
> > > > + */
> > > > + if (__resource_contains_unbound(new_res, res) ||
> > > > + resource_type(new_res) != resource_type(res) ||
> > > > !resource_union(new_res, res, new_res)) {
> > > > i++;
> > > > continue;
> > > >
> > > >
> > > >
> > >
> > > This does not appear to resolve the probe failure for me.
> >
> > So can you please try to reverse new_res and res in the
> > __resource_contains_unbound() check in the patch and try again?
>
> Can confirm that
>
> diff --git a/drivers/acpi/acpi_platform.c b/drivers/acpi/acpi_platform.c
> index fffdd4f011b2..ea3b2e03ebae 100644
> --- a/drivers/acpi/acpi_platform.c
> +++ b/drivers/acpi/acpi_platform.c
> @@ -85,7 +85,12 @@ static unsigned int acpi_platform_adjust_resources(struct acpi_device *adev,
> for (i = 0; i < count; ) {
> struct resource *res = &resources[i];
>
> - if (resource_type(new_res) != resource_type(res) ||
> + /*
> + * Look for overlaps of resources of the same type that
> + * would cause resource insertion to fail.
> + */
> + if (__resource_contains_unbound(res, new_res) ||
> + resource_type(new_res) != resource_type(res) ||
> !resource_union(new_res, res, new_res)) {
> i++;
> continue;
> --
>
> resolves the probe failure for me.

Great, thanks for testing!

I'll send a proper patch tomorrow.