pci-acpi: add flag to indicate query had been done
authorKenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Thu, 15 May 2008 06:21:16 +0000 (15:21 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Tue, 10 Jun 2008 17:59:48 +0000 (10:59 -0700)
Current pci-acpi implementation checks osc_data->support_stat to see
if control bits had been already queried. It is not good from the
viewpoint of easy understanding. So this patch adds new 'is_queried'
flag to indicate query had been done.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Acked-by: Shaohua Li <shaohua.li@intel.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci-acpi.c

index b1bd6e6155a3df82a58cdce0774a3db707f2c687..951021838055ef14238906f6370a05254d2861ce 100644 (file)
@@ -23,6 +23,7 @@ struct acpi_osc_data {
        acpi_handle handle;
        u32 support_set;
        u32 control_set;
+       int is_queried;
        u32 query_result;
        struct list_head sibiling;
 };
@@ -147,6 +148,7 @@ static acpi_status acpi_query_osc(acpi_handle handle,
        if (ACPI_SUCCESS(status)) {
                osc_data->support_set = support_set;
                osc_data->query_result = osc_args.query_result;
+               osc_data->is_queried = 1;
        }
 
        return status;
@@ -203,7 +205,7 @@ acpi_status pci_osc_control_set(acpi_handle handle, u32 flags)
        if (!ctrlset)
                return AE_TYPE;
 
-       if (osc_data->support_set &&
+       if (osc_data->is_queried &&
            ((osc_data->query_result & ctrlset) != ctrlset))
                return AE_SUPPORT;