scsi: core: Use rq_dma_dir in scsi_setup_cmnd()
authorChristoph Hellwig <hch@lst.de>
Mon, 5 Oct 2020 08:41:25 +0000 (10:41 +0200)
committerMartin K. Petersen <martin.petersen@oracle.com>
Thu, 8 Oct 2020 01:48:27 +0000 (21:48 -0400)
Link: https://lore.kernel.org/r/20201005084130.143273-6-hch@lst.de
Reviewed-by: Hannes Reinecke <hare@suse.de>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/scsi_lib.c

index b0bd15f5346717eb584b193e024b166d27b73ded..3325ca22bf6d92bfca8230a3f83b3a74056f10d1 100644 (file)
@@ -1215,12 +1215,7 @@ static blk_status_t scsi_setup_cmnd(struct scsi_device *sdev,
        struct scsi_cmnd *cmd = blk_mq_rq_to_pdu(req);
        blk_status_t ret;
 
-       if (!blk_rq_bytes(req))
-               cmd->sc_data_direction = DMA_NONE;
-       else if (rq_data_dir(req) == WRITE)
-               cmd->sc_data_direction = DMA_TO_DEVICE;
-       else
-               cmd->sc_data_direction = DMA_FROM_DEVICE;
+       cmd->sc_data_direction = rq_dma_dir(req);
 
        if (blk_rq_is_scsi(req))
                ret = scsi_setup_scsi_cmnd(sdev, req);