Revert #16904 and clarify the comment about the race condition.
Modified: trunk/reactos/ntoskrnl/ke/clock.c

Modified: trunk/reactos/ntoskrnl/ke/clock.c
--- trunk/reactos/ntoskrnl/ke/clock.c	2005-07-31 08:33:39 UTC (rev 16916)
+++ trunk/reactos/ntoskrnl/ke/clock.c	2005-07-31 09:48:12 UTC (rev 16917)
@@ -305,17 +305,15 @@
 
    /* FIXME: Do DPC rate adjustments */
 
-   /* 
-    * RACE CONDITION WARNING. If one stays at DISPATCH_LEVEL for a long
-    * time the DPC routine which checks for quantum end will not be executed
-    * and decrementing the quantum here would result in overflow.
-    */
-   if (CurrentThread->Quantum < 0)
-      return;
-
    /*
     * If we're at end of quantum request software interrupt. The rest
     * is handled in KiDispatchInterrupt.
+    *
+    * NOTE: If one stays at DISPATCH_LEVEL for a long time the DPC routine
+    * which checks for quantum end will not be executed and decrementing
+    * the quantum here can result in overflow. This is not a problem since
+    * we don't care about the quantum value anymore after the QuantumEnd
+    * flag is set.
     */
    if ((CurrentThread->Quantum -= 3) <= 0)
    {