diff options
author | Christoph Hellwig <hch@lst.de> | 2019-03-03 08:52:21 -0700 |
---|---|---|
committer | Christoph Hellwig <hch@lst.de> | 2019-04-05 08:07:57 +0200 |
commit | b15c592de37ed9d71499a3b8a750d1b235fcba3d (patch) | |
tree | 7e68285aa007a151443e21b43bc00ac3e02732d9 | |
parent | 7fe07d14f71fabef642a478626248a9121e95b7b (diff) | |
download | linux-b15c592de37ed9d71499a3b8a750d1b235fcba3d.tar.bz2 |
nvme-pci: only call nvme_unmap_data for requests transferring data
This mirrors how nvme_map_pci is called and will allow simplifying some
checks in nvme_unmap_pci later on.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Keith Busch <keith.busch@intel.com>
Reviewed-by: Sagi Grimberg <sagi@grimberg.me>
Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com>
-rw-r--r-- | drivers/nvme/host/pci.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index de199aff8d05..030ee94452dd 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c @@ -929,7 +929,8 @@ static void nvme_pci_complete_rq(struct request *req) struct nvme_iod *iod = blk_mq_rq_to_pdu(req); nvme_cleanup_cmd(req); - nvme_unmap_data(iod->nvmeq->dev, req); + if (blk_rq_nr_phys_segments(req)) + nvme_unmap_data(iod->nvmeq->dev, req); nvme_complete_rq(req); } |