diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index b469130c8f14fb11bcff72a244779553677750c8..62bc81b610a22733832d879cd9aa2340b0984d6b 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -854,9 +854,9 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req, if (blk_rq_nr_phys_segments(req) == 1) { struct bio_vec bv = req_bvec(req); - unsigned int bio_pages = bio_pages_all(req->bio); - if (bio_pages == 1 && bv.bv_offset + bv.bv_len <= dev->ctrl.page_size * 2) + if (req->bio->bi_vcnt == 1 && + bv.bv_offset + bv.bv_len <= dev->ctrl.page_size * 2) return nvme_setup_prp_simple(dev, req, &cmnd->rw, &bv);