Author: gedmurphy
Date: Wed Mar 15 18:01:54 2017
New Revision: 74176
URL: http://svn.reactos.org/svn/reactos?rev=74176&view=rev
Log:
[IoCsq]
- 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.
Modified:
trunk/reactos/sdk/lib/drivers/csq/csq.c
Modified: trunk/reactos/sdk/lib/drivers/csq/csq.c
URL: http://svn.reactos.org/svn/reactos/trunk/reactos/sdk/lib/drivers/csq/csq.c?…
==============================================================================
--- trunk/reactos/sdk/lib/drivers/csq/csq.c [iso-8859-1] (original)
+++ trunk/reactos/sdk/lib/drivers/csq/csq.c [iso-8859-1] Wed Mar 15 18:01:54 2017
@@ -290,6 +290,9 @@
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 @@
ASSERT(Context->Csq == Csq);
}
+
+ Irp->Tail.Overlay.DriverContext[3] = 0;
}
while(0);
@@ -423,6 +428,8 @@
ASSERT(Context->Csq == Csq);
}
+ Irp->Tail.Overlay.DriverContext[3] = 0;
+
break;
}