ACPI: x86: s2idle: Switch to use acpi_evaluate_dsm_typed()
The acpi_evaluate_dsm_typed() provides a way to check the type of the object evaluated by _DSM call. Use it instead of open coded variant. Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com> Reviewed-by: Mario Limonciello <mario.limonciello@amd.com> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
This commit is contained in:
parent
9fbdc05042
commit
553921875f
@ -417,11 +417,10 @@ static int validate_dsm(acpi_handle handle, const char *uuid, int rev, guid_t *d
|
||||
int ret = -EINVAL;
|
||||
|
||||
guid_parse(uuid, dsm_guid);
|
||||
obj = acpi_evaluate_dsm(handle, dsm_guid, rev, 0, NULL);
|
||||
|
||||
/* Check if the _DSM is present and as expected. */
|
||||
if (!obj || obj->type != ACPI_TYPE_BUFFER || obj->buffer.length == 0 ||
|
||||
obj->buffer.length > sizeof(u32)) {
|
||||
obj = acpi_evaluate_dsm_typed(handle, dsm_guid, rev, 0, NULL, ACPI_TYPE_BUFFER);
|
||||
if (!obj || obj->buffer.length == 0 || obj->buffer.length > sizeof(u32)) {
|
||||
acpi_handle_debug(handle,
|
||||
"_DSM UUID %s rev %d function 0 evaluation failed\n", uuid, rev);
|
||||
goto out;
|
||||
|
Loading…
Reference in New Issue
Block a user