Remove global lock handler on AcpiTerminate.

Added AcpiEvRemoveGlobalLockHandler
This commit is contained in:
rmoore1 2006-12-07 23:21:38 +00:00
parent 4a820b6960
commit 8d57d770df

View File

@ -1,7 +1,7 @@
/******************************************************************************
*
* Module Name: evmisc - Miscellaneous event manager support functions
* $Revision: 1.99 $
* $Revision: 1.100 $
*
*****************************************************************************/
@ -153,6 +153,10 @@ static UINT32
AcpiEvGlobalLockHandler (
void *Context);
static ACPI_STATUS
AcpiEvRemoveGlobalLockHandler (
void);
/*******************************************************************************
*
@ -489,6 +493,35 @@ AcpiEvInitGlobalLockHandler (
}
/*******************************************************************************
*
* FUNCTION: AcpiEvRemoveGlobalLockHandler
*
* PARAMETERS: None
*
* RETURN: Status
*
* DESCRIPTION: Remove the handler for the Global Lock
*
******************************************************************************/
static ACPI_STATUS
AcpiEvRemoveGlobalLockHandler (
void)
{
ACPI_STATUS Status;
ACPI_FUNCTION_TRACE (EvRemoveGlobalLockHandler);
AcpiGbl_GlobalLockPresent = FALSE;
Status = AcpiRemoveFixedEventHandler (ACPI_EVENT_GLOBAL,
AcpiEvGlobalLockHandler);
return_ACPI_STATUS (Status);
}
/******************************************************************************
*
* FUNCTION: AcpiEvAcquireGlobalLock
@ -686,6 +719,13 @@ AcpiEvTerminate (
ACPI_ERROR ((AE_INFO,
"Could not remove SCI handler"));
}
Status = AcpiEvRemoveGlobalLockHandler ();
if (ACPI_FAILURE(Status))
{
ACPI_ERROR ((AE_INFO,
"Could not remove Global Lock handler"));
}
}
/* Deallocate all handler objects installed within GPE info structs */