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?r... ============================================================================== --- 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; }