summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBernhard Kohl <bernhard.kohl@nsn.com>2010-08-31 11:22:29 +0200
committerKevin Wolf <kwolf@redhat.com>2010-09-13 14:30:44 +0200
commitb422f4194dc2589ecf35a48066c9c8043e2c0157 (patch)
tree886d3b34e4fbd0a86fb565b932848a8dc1f454f8
parent72230c523bda18d4dd2f7d16f96cc59e8fbbd6c9 (diff)
downloadqemu-b422f4194dc2589ecf35a48066c9c8043e2c0157.tar.gz
scsi-disk: fix the mode data length field returned by the MODE SENSE command
The MODE DATA LENGTH field indicates the length in bytes of the following data that is available to be transferred. The mode data length does not include the number of bytes in the MODE DATA LENGTH field. Signed-off-by: Bernhard Kohl <bernhard.kohl@nsn.com> Signed-off-by: Kevin Wolf <kwolf@redhat.com> (cherry picked from commit 78e70c30612833fd0017cfa5b519bc23df808927)
-rw-r--r--hw/scsi-disk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index f43f2d097c..57439f4561 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -652,7 +652,7 @@ static int scsi_disk_emulate_mode_sense(SCSIRequest *req, uint8_t *outbuf)
}
buflen = p - outbuf;
- outbuf[0] = buflen - 4;
+ outbuf[0] = buflen - 1;
if (buflen > req->cmd.xfer)
buflen = req->cmd.xfer;
return buflen;