From 14e5cfe8eb1958143e60b4eb1fb7dc5aadd8eea0 Mon Sep 17 00:00:00 2001 From: Ged Murphy Date: Wed, 15 Mar 2017 18:01:54 +0000 Subject: [PATCH] [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. svn path=/trunk/; revision=74176 --- reactos/sdk/lib/drivers/csq/csq.c | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/reactos/sdk/lib/drivers/csq/csq.c b/reactos/sdk/lib/drivers/csq/csq.c index 793193c3c8d..6402938f9b1 100644 --- a/reactos/sdk/lib/drivers/csq/csq.c +++ b/reactos/sdk/lib/drivers/csq/csq.c @@ -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; } -- 2.17.1