summaryrefslogtreecommitdiff
path: root/events/evxfregn.c
diff options
context:
space:
mode:
Diffstat (limited to 'events/evxfregn.c')
-rw-r--r--events/evxfregn.c13
1 files changed, 7 insertions, 6 deletions
diff --git a/events/evxfregn.c b/events/evxfregn.c
index 5f6893aaabc24..4fd637e31f7e3 100644
--- a/events/evxfregn.c
+++ b/events/evxfregn.c
@@ -141,20 +141,21 @@ AcpiInstallAddressSpaceHandler (
case ACPI_ADR_SPACE_PCI_CONFIG:
case ACPI_ADR_SPACE_DATA_TABLE:
- if (AcpiGbl_RegMethodsExecuted)
+ if (!AcpiGbl_RegMethodsExecuted)
{
- /* Run all _REG methods for this address space */
-
- Status = AcpiEvExecuteRegMethods (Node, SpaceId);
+ /* We will defer execution of the _REG methods for this space */
+ goto UnlockAndExit;
}
break;
default:
-
- Status = AcpiEvExecuteRegMethods (Node, SpaceId);
break;
}
+ /* Run all _REG methods for this address space */
+
+ Status = AcpiEvExecuteRegMethods (Node, SpaceId);
+
UnlockAndExit:
(void) AcpiUtReleaseMutex (ACPI_MTX_NAMESPACE);