summaryrefslogtreecommitdiffstats
path: root/hardware/hwsleep.c
diff options
context:
space:
mode:
Diffstat (limited to 'hardware/hwsleep.c')
-rw-r--r--hardware/hwsleep.c18
1 files changed, 12 insertions, 6 deletions
diff --git a/hardware/hwsleep.c b/hardware/hwsleep.c
index 32a7934..fed4f1d 100644
--- a/hardware/hwsleep.c
+++ b/hardware/hwsleep.c
@@ -345,10 +345,13 @@ AcpiEnterSleepState (
if (SleepState != ACPI_STATE_S5)
{
- /* Disable BM arbitration */
-
+ /*
+ * Disable BM arbitration. This feature is contained within an
+ * optional register (PM2 Control), so ignore a BAD_ADDRESS
+ * exception.
+ */
Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 1);
- if (ACPI_FAILURE (Status))
+ if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
{
return_ACPI_STATUS (Status);
}
@@ -683,10 +686,13 @@ AcpiLeaveSleepState (
AcpiGbl_FixedEventInfo[ACPI_EVENT_POWER_BUTTON].StatusRegisterId,
ACPI_CLEAR_STATUS);
- /* Enable BM arbitration */
-
+ /*
+ * Enable BM arbitration. This feature is contained within an
+ * optional register (PM2 Control), so ignore a BAD_ADDRESS
+ * exception.
+ */
Status = AcpiWriteBitRegister (ACPI_BITREG_ARB_DISABLE, 0);
- if (ACPI_FAILURE (Status))
+ if (ACPI_FAILURE (Status) && (Status != AE_BAD_ADDRESS))
{
return_ACPI_STATUS (Status);
}
OpenPOWER on IntegriCloud