diff options
| -rw-r--r-- | drivers/nvme/host/pci.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/nvme/host/pci.c b/drivers/nvme/host/pci.c index 544805a2421b..11874afb2422 100644 --- a/drivers/nvme/host/pci.c +++ b/drivers/nvme/host/pci.c | |||
| @@ -668,7 +668,7 @@ static blk_status_t nvme_map_data(struct nvme_dev *dev, struct request *req, | |||
| 668 | if (blk_rq_map_integrity_sg(q, req->bio, &iod->meta_sg) != 1) | 668 | if (blk_rq_map_integrity_sg(q, req->bio, &iod->meta_sg) != 1) |
| 669 | goto out_unmap; | 669 | goto out_unmap; |
| 670 | 670 | ||
| 671 | if (rq_data_dir(req)) | 671 | if (req_op(req) == REQ_OP_WRITE) |
| 672 | nvme_dif_remap(req, nvme_dif_prep); | 672 | nvme_dif_remap(req, nvme_dif_prep); |
| 673 | 673 | ||
| 674 | if (!dma_map_sg(dev->dev, &iod->meta_sg, 1, dma_dir)) | 674 | if (!dma_map_sg(dev->dev, &iod->meta_sg, 1, dma_dir)) |
| @@ -696,7 +696,7 @@ static void nvme_unmap_data(struct nvme_dev *dev, struct request *req) | |||
| 696 | if (iod->nents) { | 696 | if (iod->nents) { |
| 697 | dma_unmap_sg(dev->dev, iod->sg, iod->nents, dma_dir); | 697 | dma_unmap_sg(dev->dev, iod->sg, iod->nents, dma_dir); |
| 698 | if (blk_integrity_rq(req)) { | 698 | if (blk_integrity_rq(req)) { |
| 699 | if (!rq_data_dir(req)) | 699 | if (req_op(req) == REQ_OP_READ) |
| 700 | nvme_dif_remap(req, nvme_dif_complete); | 700 | nvme_dif_remap(req, nvme_dif_complete); |
| 701 | dma_unmap_sg(dev->dev, &iod->meta_sg, 1, dma_dir); | 701 | dma_unmap_sg(dev->dev, &iod->meta_sg, 1, dma_dir); |
| 702 | } | 702 | } |
