Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6
* 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6: PCI: ignore bit0 of _OSC return code
This commit is contained in:
commit
58e20d8d34
@ -63,7 +63,7 @@ static acpi_status acpi_run_osc(acpi_handle handle,
|
|||||||
union acpi_object in_params[4];
|
union acpi_object in_params[4];
|
||||||
struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
|
struct acpi_buffer output = {ACPI_ALLOCATE_BUFFER, NULL};
|
||||||
union acpi_object *out_obj;
|
union acpi_object *out_obj;
|
||||||
u32 osc_dw0, flags = osc_args->capbuf[OSC_QUERY_TYPE];
|
u32 errors, flags = osc_args->capbuf[OSC_QUERY_TYPE];
|
||||||
|
|
||||||
/* Setting up input parameters */
|
/* Setting up input parameters */
|
||||||
input.count = 4;
|
input.count = 4;
|
||||||
@ -92,15 +92,16 @@ static acpi_status acpi_run_osc(acpi_handle handle,
|
|||||||
status = AE_TYPE;
|
status = AE_TYPE;
|
||||||
goto out_kfree;
|
goto out_kfree;
|
||||||
}
|
}
|
||||||
osc_dw0 = *((u32 *)out_obj->buffer.pointer);
|
/* Need to ignore the bit0 in result code */
|
||||||
if (osc_dw0) {
|
errors = *((u32 *)out_obj->buffer.pointer) & ~(1 << 0);
|
||||||
if (osc_dw0 & OSC_REQUEST_ERROR)
|
if (errors) {
|
||||||
|
if (errors & OSC_REQUEST_ERROR)
|
||||||
printk(KERN_DEBUG "_OSC request fails\n");
|
printk(KERN_DEBUG "_OSC request fails\n");
|
||||||
if (osc_dw0 & OSC_INVALID_UUID_ERROR)
|
if (errors & OSC_INVALID_UUID_ERROR)
|
||||||
printk(KERN_DEBUG "_OSC invalid UUID\n");
|
printk(KERN_DEBUG "_OSC invalid UUID\n");
|
||||||
if (osc_dw0 & OSC_INVALID_REVISION_ERROR)
|
if (errors & OSC_INVALID_REVISION_ERROR)
|
||||||
printk(KERN_DEBUG "_OSC invalid revision\n");
|
printk(KERN_DEBUG "_OSC invalid revision\n");
|
||||||
if (osc_dw0 & OSC_CAPABILITIES_MASK_ERROR) {
|
if (errors & OSC_CAPABILITIES_MASK_ERROR) {
|
||||||
if (flags & OSC_QUERY_ENABLE)
|
if (flags & OSC_QUERY_ENABLE)
|
||||||
goto out_success;
|
goto out_success;
|
||||||
printk(KERN_DEBUG "_OSC FW not grant req. control\n");
|
printk(KERN_DEBUG "_OSC FW not grant req. control\n");
|
||||||
|
Loading…
Reference in New Issue
Block a user