diff --git "a/drivers/network/afd/afd/read.c" "b/drivers/network/afd/afd/read.c" index eb9b3019325..6233cd28e9c 100644 --- "a/drivers/network/afd/afd/read.c" +++ "b/drivers/network/afd/afd/read.c" @@ -175,16 +175,11 @@ static NTSTATUS ReceiveActivity( PAFD_FCB FCB, PIRP Irp ) { TotalBytesCopied)); UnlockBuffers( RecvReq->BufferArray, RecvReq->BufferCount, FALSE ); - if (FCB->Overread && FCB->LastReceiveStatus == STATUS_SUCCESS) - { - /* Overread after a graceful disconnect so complete with an error */ - Status = STATUS_FILE_CLOSED; - } - else - { - /* Unexpected disconnect by the remote host or initial read after a graceful disconnect */ - Status = FCB->LastReceiveStatus; - } + + /* Unexpected disconnect by the remote host or + * graceful disconnect always returns success. */ + Status = FCB->LastReceiveStatus; + NextIrp->IoStatus.Status = Status; NextIrp->IoStatus.Information = 0; if( NextIrp == Irp ) RetStatus = Status;