id,summary,reporter,owner,description,type,status,priority,milestone,component,version,resolution,keywords,cc 478,AcpiExecSingleCPU: Spinlock is not released,Lars Erdmann,Lars Erdmann,"src\acpi\psd\acpicpu.c, routine ""AcpiExecSingleCPU"":[[BR]] [[BR]] around line: 802[[BR]] if (ExeFlag & SMPEXEC_IPITIME), a CPU spinlock is aquired, then the user function executed but the CPU spinlock is not released thereafter.[[BR]] I believe the code should be corrected to read:[[BR]] {{{ if (ExeFlag & SMPEXEC_IPITIME) { while ( __lxchg((volatile int*)&CPULock, 1) ); // Wait if we are here CPUMask &= (~(1 << pPSDPLMA->procnum)); // Clear bit, this CPU was execute Status = Execute ( (void *)Context ); // call function __lxchg((volatile int*)&CPULock, 0) ; // give way to next CPU -> ADD THIS ! return Status; } }}} ",defect,closed,major,,ACPI PSD,3.17,fixed,,