ACPI: PM: s2idle: Evaluate all Low-Power S0 Idle _DSM functions
Commit073237281a
("ACPI: PM: s2idle: Enable Low-Power S0 Idle MSFT UUID for non-AMD systems") attempted to avoid evaluating the same Low- Power S0 Idle _DSM functions for different UUIDs, but that turns out to be a mistake, because some systems in the field are adversely affected by it. Address this by allowing all Low-Power S0 Idle _DSM functions to be evaluated, but still print the message regarding duplication of Low- Power S0 Idle _DSM function sets for different UUIDs. Fixes:073237281a
("ACPI: PM: s2idle: Enable Low-Power S0 Idle MSFT UUID for non-AMD systems") Closes: https://bugzilla.kernel.org/show_bug.cgi?id=218750 Reported-and-tested-by: Mark Pearson <mpearson@lenovo.com> Suggested-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com>
This commit is contained in:
parent
ed30a4a51b
commit
68301ef471
@ -492,16 +492,14 @@ static int lps0_device_attach(struct acpi_device *adev,
|
|||||||
unsigned int func_mask;
|
unsigned int func_mask;
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Avoid evaluating the same _DSM function for two
|
* Log a message if the _DSM function sets for two
|
||||||
* different UUIDs and prioritize the MSFT one.
|
* different UUIDs overlap.
|
||||||
*/
|
*/
|
||||||
func_mask = lps0_dsm_func_mask & lps0_dsm_func_mask_microsoft;
|
func_mask = lps0_dsm_func_mask & lps0_dsm_func_mask_microsoft;
|
||||||
if (func_mask) {
|
if (func_mask)
|
||||||
acpi_handle_info(adev->handle,
|
acpi_handle_info(adev->handle,
|
||||||
"Duplicate LPS0 _DSM functions (mask: 0x%x)\n",
|
"Duplicate LPS0 _DSM functions (mask: 0x%x)\n",
|
||||||
func_mask);
|
func_mask);
|
||||||
lps0_dsm_func_mask &= ~func_mask;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user