ACPI/PCI: Fix return value of acpi_cuery_osc()
authorTaku Izumi <izumi.taku@jp.fujitsu.com>
Fri, 17 Oct 2008 04:51:53 +0000 (13:51 +0900)
committerJesse Barnes <jbarnes@virtuousgeek.org>
Wed, 22 Oct 2008 23:42:34 +0000 (16:42 -0700)
If acpi_query_osc() returns other than AE_OK, __pci_osc_support_set()
stops scanning ACPI objects to evaluate _OSC. This prevents subsequent
_OSCs from being evaluated if some of root bridge doesn't have _OSC, for
example. So acpi_query_osc() should return always AE_OK to evaluate all
_OSC.

Signed-off-by: Kenji Kaneshige <kaneshige.kenji@jp.fujitsu.com>
Signed-off-by: Taku Izumi <izumi.taku@jp.fujitsu.com>
Signed-off-by: Jesse Barnes <jbarnes@virtuousgeek.org>
drivers/pci/pci-acpi.c

index 981919d163a0502f3b8eb9e3c6f3850cb0616daa..dfe7c8e1b18586fa9da406cd365bbfb14188ec97 100644 (file)
@@ -149,20 +149,19 @@ static acpi_status acpi_query_osc(acpi_handle handle,
 
        status = acpi_get_handle(handle, "_OSC", &tmp);
        if (ACPI_FAILURE(status))
-               return status;
+               return AE_OK;
 
        mutex_lock(&pci_acpi_lock);
        osc_data = acpi_get_osc_data(handle);
        if (!osc_data) {
                printk(KERN_ERR "acpi osc data array is full\n");
-               status = AE_ERROR;
                goto out;
        }
 
-       status = __acpi_query_osc(flags, osc_data, &dummy);
+       __acpi_query_osc(flags, osc_data, &dummy);
 out:
        mutex_unlock(&pci_acpi_lock);
-       return status;
+       return AE_OK;
 }
 
 /**