diff --git a/reactos/drivers/filesystems/ntfs/dispatch.c b/reactos/drivers/filesystems/ntfs/dispatch.c index 0f53c629109..ebba60e052f 100644 --- a/reactos/drivers/filesystems/ntfs/dispatch.c +++ b/reactos/drivers/filesystems/ntfs/dispatch.c @@ -85,13 +85,17 @@ NtfsFsdDispatch(PDEVICE_OBJECT DeviceObject, else Status = STATUS_INSUFFICIENT_RESOURCES; - ASSERT(((IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || + ASSERT((!(IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || + ((IrpContext->Flags & IRPCONTEXT_COMPLETE) && !(IrpContext->Flags & IRPCONTEXT_QUEUE)) || (!(IrpContext->Flags & IRPCONTEXT_COMPLETE) && (IrpContext->Flags & IRPCONTEXT_QUEUE))); - Irp->IoStatus.Status = Status; + if (IrpContext->Flags & IRPCONTEXT_COMPLETE) + { + Irp->IoStatus.Status = Status; IoCompleteRequest(Irp, IrpContext->PriorityBoost); + } if (IrpContext) ExFreePoolWithTag(IrpContext, 'PRIN');