scsi: ufs: ufs-pci: Switch to use acpi_evaluate_dsm_typed()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Mon, 2 Oct 2023 13:51:25 +0000 (16:51 +0300)
committerMartin K. Petersen <martin.petersen@oracle.com>
Tue, 10 Oct 2023 01:47:25 +0000 (21:47 -0400)
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>
Link: https://lore.kernel.org/r/20231002135125.2602895-1-andriy.shevchenko@linux.intel.com
Reviewed-by: Avri Altman <avri.altman@wdc.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/ufs/host/ufshcd-pci.c

index 248a49e5e7f3570fd2e4d15add6805b062607efc..0aca666d219947b749fe92199847111535eb9459 100644 (file)
@@ -58,11 +58,12 @@ static int __intel_dsm(struct intel_host *intel_host, struct device *dev,
        int err = 0;
        size_t len;
 
-       obj = acpi_evaluate_dsm(ACPI_HANDLE(dev), &intel_dsm_guid, 0, fn, NULL);
+       obj = acpi_evaluate_dsm_typed(ACPI_HANDLE(dev), &intel_dsm_guid, 0, fn, NULL,
+                                     ACPI_TYPE_BUFFER);
        if (!obj)
                return -EOPNOTSUPP;
 
-       if (obj->type != ACPI_TYPE_BUFFER || obj->buffer.length < 1) {
+       if (obj->buffer.length < 1) {
                err = -EINVAL;
                goto out;
        }