diff --git a/src/sys/create.c b/src/sys/create.c index 51b7b85e..6a409dea 100644 --- a/src/sys/create.c +++ b/src/sys/create.c @@ -714,7 +714,7 @@ VOID FspFsvolCreateComplete( } NTSTATUS FspFsvolCreateRetryComplete( - PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request) + PIRP Irp) { PAGED_CODE(); diff --git a/src/sys/driver.h b/src/sys/driver.h index 1a744e82..1d67a45b 100644 --- a/src/sys/driver.h +++ b/src/sys/driver.h @@ -228,7 +228,7 @@ typedef VOID FSP_IOCMPL_DISPATCH( _IRQL_requires_max_(APC_LEVEL) _IRQL_requires_same_ typedef NTSTATUS FSP_IORETR_DISPATCH( - _Inout_ PIRP Irp, _Inout_ FSP_FSCTL_TRANSACT_REQ *Request); + _Inout_ PIRP Irp); FSP_IOCMPL_DISPATCH FspFsvolCleanupComplete; FSP_IOCMPL_DISPATCH FspFsvolCloseComplete; FSP_IOPREP_DISPATCH FspFsvolCreatePrepare; @@ -423,7 +423,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference); VOID FspIopCompleteCanceledIrp(PIRP Irp); NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); -NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); +NTSTATUS FspIopDispatchRetryComplete(PIRP Irp); /* device management */ #define FSP_DEVICE_VOLUME_NAME_LENMAX (FSP_FSCTL_VOLUME_NAME_SIZEMAX - sizeof(WCHAR)) diff --git a/src/sys/iop.c b/src/sys/iop.c index 8dc86c27..5e503f25 100644 --- a/src/sys/iop.c +++ b/src/sys/iop.c @@ -19,7 +19,7 @@ VOID FspIopCompleteIrpEx(PIRP Irp, NTSTATUS Result, BOOLEAN DeviceDereference); VOID FspIopCompleteCanceledIrp(PIRP Irp); NTSTATUS FspIopDispatchPrepare(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response); -NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request); +NTSTATUS FspIopDispatchRetryComplete(PIRP Irp); #ifdef ALLOC_PRAGMA #pragma alloc_text(PAGE, FspIopCreateRequestFunnel) @@ -270,17 +270,16 @@ VOID FspIopDispatchComplete(PIRP Irp, const FSP_FSCTL_TRANSACT_RSP *Response) FspIopCompleteFunction[IrpSp->MajorFunction](Irp, Response); } -NTSTATUS FspIopDispatchRetryComplete(PIRP Irp, FSP_FSCTL_TRANSACT_REQ *Request) +NTSTATUS FspIopDispatchRetryComplete(PIRP Irp) { PAGED_CODE(); PIO_STACK_LOCATION IrpSp = IoGetCurrentIrpStackLocation(Irp); ASSERT(IRP_MJ_MAXIMUM_FUNCTION >= IrpSp->MajorFunction); - if (0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction]) - return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp, Request); - else - return STATUS_SUCCESS; + ASSERT(0 != FspIopRetryCompleteFunction[IrpSp->MajorFunction]); + + return FspIopRetryCompleteFunction[IrpSp->MajorFunction](Irp); } FSP_IOPREP_DISPATCH *FspIopPrepareFunction[IRP_MJ_MAXIMUM_FUNCTION + 1]; diff --git a/src/sys/volume.c b/src/sys/volume.c index 49b82680..e6f9de15 100644 --- a/src/sys/volume.c +++ b/src/sys/volume.c @@ -548,7 +548,7 @@ NTSTATUS FspVolumeTransact( if (0 == RetriedIrp) break; - Result = FspIopDispatchRetryComplete(RetriedIrp, FspIrpRequest(RetriedIrp)); + Result = FspIopDispatchRetryComplete(RetriedIrp); if (STATUS_PENDING == Result) { /*