scsi: core: Set sc_data_direction to DMA_NONE for no-transfer commands
[sfrench/cifs-2.6.git] / drivers / scsi / scsi_lib.c
index 6b0fccda9af2eef4857f5236ace74efdbbc93f9d..1a2e9bab42efabd202d1f966ba0e792e09d8f0a3 100644 (file)
@@ -1545,7 +1545,10 @@ static blk_status_t scsi_prepare_cmd(struct request *req)
        cmd->request = req;
        cmd->tag = req->tag;
        cmd->prot_op = SCSI_PROT_NORMAL;
-       cmd->sc_data_direction = rq_dma_dir(req);
+       if (blk_rq_bytes(req))
+               cmd->sc_data_direction = rq_dma_dir(req);
+       else
+               cmd->sc_data_direction = DMA_NONE;
 
        sg = (void *)cmd + sizeof(struct scsi_cmnd) + shost->hostt->cmd_size;
        cmd->sdb.table.sgl = sg;