[IoCsq]
authorGed Murphy <gedmurphy@reactos.org>
Wed, 15 Mar 2017 18:01:54 +0000 (18:01 +0000)
committerGed Murphy <gedmurphy@reactos.org>
Wed, 15 Mar 2017 18:01:54 +0000 (18:01 +0000)
- Clean up the DriverContext that was dirtied by the CSQ
The do while(0) thing feels a bit weird. I can only assume it was done so a 'break' will unlock before returning.

svn path=/trunk/; revision=74176

reactos/sdk/lib/drivers/csq/csq.c

index 793193c..6402938 100644 (file)
@@ -290,6 +290,9 @@ IoCsqInsertIrpEx(
         if(!IoSetCancelRoutine(Irp, NULL))
             break;
 
+
+        Irp->Tail.Overlay.DriverContext[3] = 0;
+
         /* OK, looks like we have to de-queue and complete this ourselves */
         Csq->CsqRemoveIrp(Csq, Irp);
         Csq->CsqCompleteCanceledIrp(Csq, Irp);
@@ -363,6 +366,8 @@ IoCsqRemoveIrp(
 
             ASSERT(Context->Csq == Csq);
         }
+
+        Irp->Tail.Overlay.DriverContext[3] = 0;
     }
     while(0);
 
@@ -423,6 +428,8 @@ IoCsqRemoveNextIrp(
             ASSERT(Context->Csq == Csq);
         }
 
+        Irp->Tail.Overlay.DriverContext[3] = 0;
+
         break;
     }