diff --git a/fs/netfs/read_collect.c b/fs/netfs/read_collect.c index f65affa5a9e4..93eb315fffea 100644 --- a/fs/netfs/read_collect.c +++ b/fs/netfs/read_collect.c @@ -371,9 +371,11 @@ static void netfs_rreq_assess_dio(struct netfs_io_request *rreq) if (rreq->iocb) { rreq->iocb->ki_pos += rreq->transferred; - if (rreq->iocb->ki_complete) + if (rreq->iocb->ki_complete) { rreq->iocb->ki_complete( rreq->iocb, rreq->error ? rreq->error : rreq->transferred); + rreq->iocb = NULL; + } } if (rreq->netfs_ops->done) rreq->netfs_ops->done(rreq);