===================================================================
@@ -206,8 +206,7 @@ static void acpi_pci_bridge_scan(struct
static u8 pci_osc_uuid_str[] = "33DB4D5B-1FF7-401C-9657-7441C03DD766";
-static acpi_status acpi_pci_run_osc(acpi_handle handle,
- const u32 *capbuf, u32 *retval)
+static acpi_status acpi_pci_run_osc(acpi_handle handle, u32 *capbuf)
{
struct acpi_osc_context context = {
.uuid_str = pci_osc_uuid_str,
@@ -219,7 +218,7 @@ static acpi_status acpi_pci_run_osc(acpi
status = acpi_run_osc(handle, &context);
if (ACPI_SUCCESS(status)) {
- *retval = *((u32 *)(context.ret.pointer + 8));
+ capbuf[OSC_CONTROL_TYPE] = ((u32 *)context.ret.pointer)[2];
kfree(context.ret.pointer);
}
return status;
@@ -228,7 +227,7 @@ static acpi_status acpi_pci_run_osc(acpi
static acpi_status acpi_pci_query_osc(struct acpi_pci_root *root, u32 flags)
{
acpi_status status;
- u32 support_set, result, capbuf[3];
+ u32 support_set, capbuf[3];
/* do _OSC query for all possible controls */
support_set = root->osc_support_set | (flags & OSC_PCI_SUPPORT_MASKS);
@@ -236,10 +235,10 @@ static acpi_status acpi_pci_query_osc(st
capbuf[OSC_SUPPORT_TYPE] = support_set;
capbuf[OSC_CONTROL_TYPE] = OSC_PCI_CONTROL_MASKS;
- status = acpi_pci_run_osc(root->device->handle, capbuf, &result);
+ status = acpi_pci_run_osc(root->device->handle, capbuf);
if (ACPI_SUCCESS(status)) {
root->osc_support_set = support_set;
- root->osc_control_qry = result;
+ root->osc_control_qry = capbuf[OSC_CONTROL_TYPE];
root->osc_queried = 1;
}
return status;
@@ -373,7 +372,7 @@ EXPORT_SYMBOL_GPL(acpi_get_pci_dev);
acpi_status acpi_pci_osc_control_set(acpi_handle handle, u32 flags)
{
acpi_status status;
- u32 control_req, result, capbuf[3];
+ u32 control_req, capbuf[3];
acpi_handle tmp;
struct acpi_pci_root *root;
@@ -410,9 +409,9 @@ acpi_status acpi_pci_osc_control_set(acp
capbuf[OSC_QUERY_TYPE] = 0;
capbuf[OSC_SUPPORT_TYPE] = root->osc_support_set;
capbuf[OSC_CONTROL_TYPE] = root->osc_control_set | control_req;
- status = acpi_pci_run_osc(handle, capbuf, &result);
+ status = acpi_pci_run_osc(handle, capbuf);
if (ACPI_SUCCESS(status))
- root->osc_control_set = result;
+ root->osc_control_set = capbuf[OSC_CONTROL_TYPE];
out:
mutex_unlock(&osc_lock);
return status;