struct nvme_fc_fcp_op *op)
 {
        struct nvmefc_fcp_req *freq = &op->fcp_req;
-       enum dma_data_direction dir;
        int ret;
 
        freq->sg_cnt = 0;
 
        op->nents = blk_rq_map_sg(rq->q, rq, freq->sg_table.sgl);
        WARN_ON(op->nents > blk_rq_nr_phys_segments(rq));
-       dir = (rq_data_dir(rq) == WRITE) ? DMA_TO_DEVICE : DMA_FROM_DEVICE;
        freq->sg_cnt = fc_dma_map_sg(ctrl->lport->dev, freq->sg_table.sgl,
-                               op->nents, dir);
+                               op->nents, rq_dma_dir(rq));
        if (unlikely(freq->sg_cnt <= 0)) {
                sg_free_table_chained(&freq->sg_table, SG_CHUNK_SIZE);
                freq->sg_cnt = 0;
                return;
 
        fc_dma_unmap_sg(ctrl->lport->dev, freq->sg_table.sgl, op->nents,
-                               ((rq_data_dir(rq) == WRITE) ?
-                                       DMA_TO_DEVICE : DMA_FROM_DEVICE));
+                       rq_dma_dir(rq));
 
        nvme_cleanup_cmd(rq);