usb: core: Make use of acpi_evaluate_object() status
authorAndy Shevchenko <andriy.shevchenko@linux.intel.com>
Tue, 18 Feb 2020 18:52:07 +0000 (20:52 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 19 Feb 2020 10:08:52 +0000 (11:08 +0100)
Compiler is not happy about dangling variable:

.../core/usb-acpi.c: In function ‘usb_acpi_get_connect_type’:
.../core/usb-acpi.c:90:14: warning: variable ‘status’ set but not used [-Wunused-but-set-variable]
   90 |  acpi_status status;
      |              ^~~~~~

Make use of it by checking the status and bail out in case of error.

Signed-off-by: Andy Shevchenko <andriy.shevchenko@linux.intel.com>
Link: https://lore.kernel.org/r/20200218185207.62527-1-andriy.shevchenko@linux.intel.com
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
drivers/usb/core/usb-acpi.c

index 9043d72..99d41dc 100644 (file)
@@ -86,7 +86,7 @@ static enum usb_port_connect_type usb_acpi_get_connect_type(acpi_handle handle,
 {
        enum usb_port_connect_type connect_type = USB_PORT_CONNECT_TYPE_UNKNOWN;
        struct acpi_buffer buffer = { ACPI_ALLOCATE_BUFFER, NULL };
-       union acpi_object *upc;
+       union acpi_object *upc = NULL;
        acpi_status status;
 
        /*
@@ -98,11 +98,12 @@ static enum usb_port_connect_type usb_acpi_get_connect_type(acpi_handle handle,
         * no connectable, the port would be not used.
         */
        status = acpi_evaluate_object(handle, "_UPC", NULL, &buffer);
+       if (ACPI_FAILURE(status))
+               goto out;
+
        upc = buffer.pointer;
-       if (!upc || (upc->type != ACPI_TYPE_PACKAGE)
-               || upc->package.count != 4) {
+       if (!upc || (upc->type != ACPI_TYPE_PACKAGE) || upc->package.count != 4)
                goto out;
-       }
 
        if (upc->package.elements[0].integer.value)
                if (pld->user_visible)