diff --git a/block/fops.c b/block/fops.c index ad732a36f9b303f7cb202eea48c00a488e800417..8d329ca56b0f9a3019f0f972085157c43f544132 100644 --- a/block/fops.c +++ b/block/fops.c @@ -340,8 +340,7 @@ static ssize_t __blkdev_direct_IO_async(struct kiocb *iocb, } else { ret = bio_iov_iter_get_pages(bio, iter); if (unlikely(ret)) { - bio->bi_status = BLK_STS_IOERR; - bio_endio(bio); + bio_put(bio); return ret; } }