X-Git-Url: https://git.proxmox.com/?p=mirror_edk2.git;a=blobdiff_plain;f=MdePkg%2FLibrary%2FBaseLib%2FSynchronizationGcc.c;h=40b1e4a36b303fb83b3c3785118d4c42a8c7db1e;hp=9d57a1f34d3b36a8c0df1d5e5659696e595902ed;hb=a4e9aab95ada479253077229f442f5c455c7bfdd;hpb=1fcc1b796c0323cfc1e8c67a1454dc1f8324dab6 diff --git a/MdePkg/Library/BaseLib/SynchronizationGcc.c b/MdePkg/Library/BaseLib/SynchronizationGcc.c index 9d57a1f34d..40b1e4a36b 100644 --- a/MdePkg/Library/BaseLib/SynchronizationGcc.c +++ b/MdePkg/Library/BaseLib/SynchronizationGcc.c @@ -160,10 +160,13 @@ AcquireSpinLockOrFail ( IN OUT SPIN_LOCK *SpinLock ) { - VOID *Result; + SPIN_LOCK LockValue; + VOID *Result; ASSERT (SpinLock != NULL); - ASSERT (*SpinLock == SPIN_LOCK_ACQUIRED || *SpinLock == SPIN_LOCK_RELEASED); + + LockValue = *SpinLock; + ASSERT (LockValue == SPIN_LOCK_ACQUIRED || LockValue == SPIN_LOCK_RELEASED); _ReadWriteBarrier (); Result = InterlockedCompareExchangePointer ( @@ -196,8 +199,12 @@ ReleaseSpinLock ( IN OUT SPIN_LOCK *SpinLock ) { + SPIN_LOCK LockValue; + ASSERT (SpinLock != NULL); - ASSERT (*SpinLock == SPIN_LOCK_ACQUIRED || *SpinLock == SPIN_LOCK_RELEASED); + + LockValue = *SpinLock; + ASSERT (LockValue == SPIN_LOCK_ACQUIRED || LockValue == SPIN_LOCK_RELEASED); _ReadWriteBarrier (); *SpinLock = SPIN_LOCK_RELEASED;