On Tue, Apr 30, 2024 at 4:26 PM Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> wrote: > > Rafael observed [1] that returning 0 from processor_add() will result in > acpi_default_enumeration() being called which will attempt to create a > platform device, but that makes little sense when the processor is known > to be not available. So just return the error code from acpi_processor_get_info() > instead. > > Link: https://lore.kernel.org/all/CAJZ5v0iKU8ra9jR+EmgxbuNm=Uwx2m1-8vn_RAZ+aCiUVLe3Pw@xxxxxxxxxxxxxx/ [1] > Suggested-by: Rafael J. Wysocki <rafael@xxxxxxxxxx> > Signed-off-by: Jonathan Cameron <Jonathan.Cameron@xxxxxxxxxx> Acked-by: Rafael J. Wysocki <rafael.j.wysocki@xxxxxxxxx> Thank you! > --- > v9: New patch following through from Gavin pointing out a memory leak later > in the series. > --- > drivers/acpi/acpi_processor.c | 2 +- > 1 file changed, 1 insertion(+), 1 deletion(-) > > diff --git a/drivers/acpi/acpi_processor.c b/drivers/acpi/acpi_processor.c > index 161c95c9d60a..5f062806ca40 100644 > --- a/drivers/acpi/acpi_processor.c > +++ b/drivers/acpi/acpi_processor.c > @@ -393,7 +393,7 @@ static int acpi_processor_add(struct acpi_device *device, > > result = acpi_processor_get_info(device); > if (result) /* Processor is not physically present or unavailable */ > - return 0; > + return result; > > BUG_ON(pr->id >= nr_cpu_ids); > > -- > 2.39.2 >