diff --git a/reactos/drivers/network/tcpip/recmutex/recmutex.c b/reactos/drivers/network/tcpip/recmutex/recmutex.c index f1a54a6cc21..72e889fbd77 100644 --- a/reactos/drivers/network/tcpip/recmutex/recmutex.c +++ b/reactos/drivers/network/tcpip/recmutex/recmutex.c @@ -34,7 +34,6 @@ SIZE_T RecursiveMutexEnter( PRECURSIVE_MUTEX RecMutex, BOOLEAN ToWrite ) { if( CurrentIrql <= APC_LEVEL ) { ExAcquireFastMutex( &RecMutex->Mutex ); - RecMutex->OldIrql = CurrentIrql; while( RecMutex->Locked ) { ExReleaseFastMutex( &RecMutex->Mutex ); Status = KeWaitForSingleObject( &RecMutex->StateLockedEvent, @@ -44,6 +43,7 @@ SIZE_T RecursiveMutexEnter( PRECURSIVE_MUTEX RecMutex, BOOLEAN ToWrite ) { NULL ); ExAcquireFastMutex( &RecMutex->Mutex ); } + RecMutex->OldIrql = CurrentIrql; RecMutex->Locked = TRUE; RecMutex->Writer = ToWrite; RecMutex->CurrentThread = CurrentThread;