forked from Minki/linux
ACPI/PCI: Fix return value of acpi_cuery_osc()
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>
This commit is contained in:
parent
adf411b819
commit
ab20440c37
@ -149,20 +149,19 @@ static acpi_status acpi_query_osc(acpi_handle handle,
|
|||||||
|
|
||||||
status = acpi_get_handle(handle, "_OSC", &tmp);
|
status = acpi_get_handle(handle, "_OSC", &tmp);
|
||||||
if (ACPI_FAILURE(status))
|
if (ACPI_FAILURE(status))
|
||||||
return status;
|
return AE_OK;
|
||||||
|
|
||||||
mutex_lock(&pci_acpi_lock);
|
mutex_lock(&pci_acpi_lock);
|
||||||
osc_data = acpi_get_osc_data(handle);
|
osc_data = acpi_get_osc_data(handle);
|
||||||
if (!osc_data) {
|
if (!osc_data) {
|
||||||
printk(KERN_ERR "acpi osc data array is full\n");
|
printk(KERN_ERR "acpi osc data array is full\n");
|
||||||
status = AE_ERROR;
|
|
||||||
goto out;
|
goto out;
|
||||||
}
|
}
|
||||||
|
|
||||||
status = __acpi_query_osc(flags, osc_data, &dummy);
|
__acpi_query_osc(flags, osc_data, &dummy);
|
||||||
out:
|
out:
|
||||||
mutex_unlock(&pci_acpi_lock);
|
mutex_unlock(&pci_acpi_lock);
|
||||||
return status;
|
return AE_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
Loading…
Reference in New Issue
Block a user