From: Bernhard Kohl Date: Tue, 31 Aug 2010 09:22:29 +0000 (+0200) Subject: scsi-disk: fix the mode data length field returned by the MODE SENSE command X-Git-Tag: v0.13.0-rc3^2~12 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=b422f4194dc2589ecf35a48066c9c8043e2c0157;p=thirdparty%2Fqemu.git 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 Signed-off-by: Kevin Wolf (cherry picked from commit 78e70c30612833fd0017cfa5b519bc23df808927) --- diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c index f43f2d097cc..57439f4561b 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;