Index: /trunk/src/VBox/Runtime/common/misc/lockvalidator.cpp
===================================================================
--- /trunk/src/VBox/Runtime/common/misc/lockvalidator.cpp	(revision 79786)
+++ /trunk/src/VBox/Runtime/common/misc/lockvalidator.cpp	(revision 79787)
@@ -2905,5 +2905,7 @@
 {
     RTLOCKVALDDSTACK Stack;
+    rtLockValidatorSerializeDetectionEnter();
     int rc = rtLockValidatorDdDoDetection(&Stack, pRec, pThreadSelf);
+    rtLockValidatorSerializeDetectionLeave();
     if (RT_SUCCESS(rc))
         return VINF_SUCCESS;
@@ -2913,5 +2915,7 @@
         for (uint32_t iLoop = 0; ; iLoop++)
         {
+            rtLockValidatorSerializeDetectionEnter();
             rc = rtLockValidatorDdDoDetection(&Stack, pRec, pThreadSelf);
+            rtLockValidatorSerializeDetectionLeave();
             if (RT_SUCCESS_NP(rc))
                 return VINF_SUCCESS;
@@ -3373,11 +3377,6 @@
                  || pRecU->Excl.hClass->cMsMinDeadlock > RT_INDEFINITE_WAIT))
         rc = VINF_SUCCESS;
-    else
-    {
-        rtLockValidatorSerializeDetectionEnter();
-        if (!rtLockValidatorIsSimpleNoDeadlockCase(pRecU))
-            rc = rtLockValidatorDeadlockDetection(pRecU, pThreadSelf, pSrcPos);
-        rtLockValidatorSerializeDetectionLeave();
-    }
+    else if (!rtLockValidatorIsSimpleNoDeadlockCase(pRecU))
+        rc = rtLockValidatorDeadlockDetection(pRecU, pThreadSelf, pSrcPos);
 
     if (RT_SUCCESS(rc))
@@ -3680,11 +3679,6 @@
                  || pRec->hClass->cMsMinDeadlock > cMillies))
         rc = VINF_SUCCESS;
-    else
-    {
-        rtLockValidatorSerializeDetectionEnter();
-        if (!rtLockValidatorIsSimpleNoDeadlockCase(pRecU))
-            rc = rtLockValidatorDeadlockDetection(pRecU, pThreadSelf, pSrcPos);
-        rtLockValidatorSerializeDetectionLeave();
-    }
+    else if (!rtLockValidatorIsSimpleNoDeadlockCase(pRecU))
+        rc = rtLockValidatorDeadlockDetection(pRecU, pThreadSelf, pSrcPos);
 
     if (RT_SUCCESS(rc))
