From 1a5f267b1d5f1418b86a42ee2de0704150b8686d Mon Sep 17 00:00:00 2001 From: Ronnie Sahlberg Date: Mon, 4 Apr 2011 18:46:43 +1000 Subject: [PATCH] WRITE10: Set W bit to 1 only if we write data, i.e. number of blocks are >0 --- lib/scsi-lowlevel.c | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/lib/scsi-lowlevel.c b/lib/scsi-lowlevel.c index 6f19824..3cdc855 100644 --- a/lib/scsi-lowlevel.c +++ b/lib/scsi-lowlevel.c @@ -565,7 +565,11 @@ scsi_cdb_write10(uint32_t lba, uint32_t xferlen, int fua, int fuanv, int blocksi *(uint16_t *)&task->cdb[7] = htons(xferlen/blocksize); task->cdb_size = 10; - task->xfer_dir = SCSI_XFER_WRITE; + if (xferlen != 0) { + task->xfer_dir = SCSI_XFER_WRITE; + } else { + task->xfer_dir = SCSI_XFER_NONE; + } task->expxferlen = xferlen; task->params.write10.lba = lba;