my Intel Core Ultra 7 165U is displaying those message during boot:
acpi_spmc0: <Low Power S0 Idle (DSM sets 0x3)> on acpi0 acpi_spmc0: Unknown revision -47608928 for device constraint detail package acpi_spmc0: Unknown revision -47608728 for device constraint detail package acpi_spmc0: Unknown revision -47608528 for device constraint detail package acpi_spmc0: Unknown revision -47608328 for device constraint detail package acpi_spmc0: Unknown revision -47608128 for device constraint detail package acpi_spmc0: Unknown revision -47607928 for device constraint detail package acpi_spmc0: Unknown revision -47607728 for device constraint detail package acpi_spmc0: Unknown revision -47607528 for device constraint detail package acpi_spmc0: Unknown revision -47607328 for device constraint detail package acpi_spmc0: Unknown revision -47607128 for device constraint detail package acpi_spmc0: Unknown revision -47606928 for device constraint detail package acpi_spmc0: Unknown revision -47606744 for device constraint detail package acpi_spmc0: Unknown revision -47606560 for device constraint detail package acpi_spmc0: Unknown revision -47606376 for device constraint detail package acpi_spmc0: Unknown revision -47606192 for device constraint detail package acpi_spmc0: Unknown revision -47606008 for device constraint detail package acpi_spmc0: Unknown revision -47605800 for device constraint detail package acpi_spmc0: Unknown revision -47605616 for device constraint detail package acpi_spmc0: Unknown revision -47605432 for device constraint detail package
Seems due to a bug:
it reads the SAME Elements[0] as an Integer, but the comment says "device constraint detail package" but the code reads from the constraint object, not the detail sub-package.
So the value -47608928 is just the raw bits of the string pointer being interpreted as an integer.
Fixing it by using Elements[2] (the detail sub-package), computed before the check.
Proposed commit message:
acpi_spmc: fix revision check reading name as integer In acpi_spmc_get_constraints_spec(), the revision of the device constraint detail package was mistakenly read from constraint_obj->Package.Elements[0], which is the device name (a String), instead of from the detail sub-package's first element. Move the initialisation of `detail' before the revision check and read the revision from detail->Package.Elements[0] as the comment already states