acpi_status status;
        union acpi_operand_object *string_desc;
        union acpi_operand_object *return_desc;
+       u32 return_value;
        u32 i;
 
        ACPI_FUNCTION_TRACE(ut_osi_implementation);
                return_ACPI_STATUS(AE_NO_MEMORY);
        }
 
-       /* Default return value is 0, NOT-SUPPORTED */
+       /* Default return value is 0, NOT SUPPORTED */
 
-       return_desc->integer.value = 0;
-       walk_state->return_desc = return_desc;
+       return_value = 0;
 
        /* Compare input string to static table of supported interfaces */
 
                if (!ACPI_STRCMP
                    (string_desc->string.pointer,
                     acpi_interfaces_supported[i])) {
-                       return_desc->integer.value = ACPI_UINT32_MAX;
-                       goto done;
+
+                       /* The interface is supported */
+
+                       return_value = ACPI_UINT32_MAX;
+                       goto exit;
                }
        }
 
         */
        status = acpi_os_validate_interface(string_desc->string.pointer);
        if (ACPI_SUCCESS(status)) {
-               return_desc->integer.value = ACPI_UINT32_MAX;
+
+               /* The interface is supported */
+
+               return_value = ACPI_UINT32_MAX;
        }
 
-done:
-       ACPI_DEBUG_PRINT_RAW((ACPI_DB_INFO, "ACPI: BIOS _OSI(%s) %ssupported\n",
-               string_desc->string.pointer,
-               return_desc->integer.value == 0 ? "not-" : ""));
+exit:
+       ACPI_DEBUG_PRINT_RAW ((ACPI_DB_INFO,
+               "ACPI: BIOS _OSI(%s) is %ssupported\n",
+               string_desc->string.pointer, return_value == 0 ? "not " : ""));
 
-       return_ACPI_STATUS(AE_OK);
+       /* Complete the return value */
+
+       return_desc->integer.value = return_value;
+       walk_state->return_desc = return_desc;
+       return_ACPI_STATUS (AE_OK);
 }
 
 /*******************************************************************************