Print this page
update to acpica-unix2-20140114
acpica-unix2-20130823
PANKOVs restructure

*** 1,14 **** - /****************************************************************************** * * Module Name: exmutex - ASL Mutex Acquire/Release functions * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2011, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met: --- 1,13 ---- /****************************************************************************** * * Module Name: exmutex - ASL Mutex Acquire/Release functions * *****************************************************************************/ /* ! * Copyright (C) 2000 - 2014, Intel Corp. * All rights reserved. * * Redistribution and use in source and binary forms, with or without * modification, are permitted provided that the following conditions * are met:
*** 339,349 **** ACPI_FUNCTION_TRACE (ExReleaseMutexObject); if (ObjDesc->Mutex.AcquisitionDepth == 0) { ! return (AE_NOT_ACQUIRED); } /* Match multiple Acquires with multiple Releases */ ObjDesc->Mutex.AcquisitionDepth--; --- 338,348 ---- ACPI_FUNCTION_TRACE (ExReleaseMutexObject); if (ObjDesc->Mutex.AcquisitionDepth == 0) { ! return_ACPI_STATUS (AE_NOT_ACQUIRED); } /* Match multiple Acquires with multiple Releases */ ObjDesc->Mutex.AcquisitionDepth--;
*** 513,523 **** { ACPI_OPERAND_OBJECT *Next = Thread->AcquiredMutexList; ACPI_OPERAND_OBJECT *ObjDesc; ! ACPI_FUNCTION_ENTRY (); /* Traverse the list of owned mutexes, releasing each one */ while (Next) --- 512,522 ---- { ACPI_OPERAND_OBJECT *Next = Thread->AcquiredMutexList; ACPI_OPERAND_OBJECT *ObjDesc; ! ACPI_FUNCTION_NAME (ExReleaseAllMutexes); /* Traverse the list of owned mutexes, releasing each one */ while (Next)
*** 527,536 **** --- 526,538 ---- ObjDesc->Mutex.Prev = NULL; ObjDesc->Mutex.Next = NULL; ObjDesc->Mutex.AcquisitionDepth = 0; + ACPI_DEBUG_PRINT ((ACPI_DB_EXEC, + "Force-releasing held mutex: %p\n", ObjDesc)); + /* Release the mutex, special case for Global Lock */ if (ObjDesc == AcpiGbl_GlobalLockMutex) { /* Ignore errors */