Remove code to disable bus master arbitration.

This change removes the code to disable/enable bus master
arbitration during suspend/resume. Use of the ARB_DIS
bit in the optional PM2_CNT register causes resume problems
on many machines.
This commit is contained in:
Robert Moore 2012-07-09 12:12:02 -07:00
parent 2e674261e8
commit fe1a5ac7d8

View File

@ -171,19 +171,14 @@ AcpiHwLegacySleep (
return_ACPI_STATUS (Status); return_ACPI_STATUS (Status);
} }
if (SleepState != ACPI_STATE_S5) /*
{ * Code removed: no longer set the ARB_DIS bit in the PM2_CNT
/* * register when suspending. Use of ARB_DIS causes resume
* Disable BM arbitration. This feature is contained within an * problems on many machines.
* optional register (PM2 Control), so ignore a BAD_ADDRESS *
* exception. * if (SleepState != ACPI_STATE_S5)
*/ * Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1);
Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1); */
if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
{
return_ACPI_STATUS (Status);
}
}
/* /*
* 1) Disable/Clear all GPEs * 1) Disable/Clear all GPEs
@ -453,15 +448,12 @@ AcpiHwLegacyWake (
ACPI_CLEAR_STATUS); ACPI_CLEAR_STATUS);
/* /*
* Enable BM arbitration. This feature is contained within an * Code removed: no longer clear the ARB_DIS bit in the PM2_CNT
* optional register (PM2 Control), so ignore a BAD_ADDRESS * register when resuming. Use of ARB_DIS causes resume problems
* exception. * on many machines.
*
* Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 0);
*/ */
Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 0);
if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
{
return_ACPI_STATUS (Status);
}
AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING); AcpiHwExecuteSleepMethod (METHOD_PATHNAME__SST, ACPI_SST_WORKING);
return_ACPI_STATUS (Status); return_ACPI_STATUS (Status);