]> git.proxmox.com Git - qemu.git/commitdiff
scsi-disk: fix the mode data length field returned by the MODE SENSE command
authorBernhard Kohl <bernhard.kohl@nsn.com>
Tue, 31 Aug 2010 09:22:29 +0000 (11:22 +0200)
committerKevin Wolf <kwolf@redhat.com>
Mon, 13 Sep 2010 12:30:44 +0000 (14:30 +0200)
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)

hw/scsi-disk.c

index f43f2d097cceff9f6640e3e3be2f9662854de4f7..57439f4561bf8e7ca5887f60391e372129a44ae3 100644 (file)
@@ -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;