Index: /trunk/src/VBox/Devices/Storage/DrvSCSI.cpp
===================================================================
--- /trunk/src/VBox/Devices/Storage/DrvSCSI.cpp	(revision 29585)
+++ /trunk/src/VBox/Devices/Storage/DrvSCSI.cpp	(revision 29586)
@@ -178,5 +178,4 @@
     }
 
-    ASMAtomicDecU32(&pThis->StatIoDepth);
     VSCSIIoReqCompleted(hVScsiIoReq, rc);
 
@@ -208,5 +207,4 @@
         AssertMsg(enmTxDir == VSCSIIOREQTXDIR_FLUSH, ("Invalid transfer direction %u\n", enmTxDir));
 
-    ASMAtomicDecU32(&pThis->StatIoDepth);
     VSCSIIoReqCompleted(hVScsiIoReq, rc);
 
@@ -220,6 +218,4 @@
     int rc = VINF_SUCCESS;
     PDRVSCSI pThis = (PDRVSCSI)pvScsiLunUser;
-
-    ASMAtomicIncU32(&pThis->StatIoDepth);
 
     if (pThis->pDrvBlockAsync)
@@ -299,5 +295,4 @@
                 AssertMsg(enmTxDir == VSCSIIOREQTXDIR_FLUSH, ("Invalid transfer direction %u\n", enmTxDir));
 
-            ASMAtomicDecU32(&pThis->StatIoDepth);
             VSCSIIoReqCompleted(hVScsiIoReq, VINF_SUCCESS);
         }
@@ -313,5 +308,4 @@
                 AssertMsg(enmTxDir == VSCSIIOREQTXDIR_FLUSH, ("Invalid transfer direction %u\n", enmTxDir));
 
-            ASMAtomicDecU32(&pThis->StatIoDepth);
             VSCSIIoReqCompleted(hVScsiIoReq, rc);
             rc = VINF_SUCCESS;
@@ -465,4 +459,5 @@
         return rc;
 
+    ASMAtomicIncU32(&pThis->StatIoDepth);
     rc = VSCSIDeviceReqEnqueue(pThis->hVScsiDevice, hVScsiReq);
 
