usb: acpi: Switch to use acpi_evaluate_dsm_typed()
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Fri, 10 Mar 2023 16:41:29 +0000 (18:41 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 16 Mar 2023 11:15:10 +0000 (12:15 +0100)
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/20230310164129.21937-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/usb-acpi.c

index 533baa85083c2e6773f5b5b7483d20b05b782428..a34b22537d7ccfd4810708e756acbd17b8844e50 100644 (file)
@@ -81,15 +81,11 @@ int usb_acpi_port_lpm_incapable(struct usb_device *hdev, int index)
                return -ENODEV;
        }
 
-       obj = acpi_evaluate_dsm(port_handle, &guid, 0,
-                               USB_DSM_DISABLE_U1_U2_FOR_PORT, NULL);
-
-       if (!obj)
-               return -ENODEV;
-
-       if (obj->type != ACPI_TYPE_INTEGER) {
+       obj = acpi_evaluate_dsm_typed(port_handle, &guid, 0,
+                                     USB_DSM_DISABLE_U1_U2_FOR_PORT, NULL,
+                                     ACPI_TYPE_INTEGER);
+       if (!obj) {
                dev_dbg(&hdev->dev, "evaluate port-%d _DSM failed\n", port1);
-               ACPI_FREE(obj);
                return -EINVAL;
        }