Patchwork [STABLE,0.13,01/13] scsi-disk: fix the mode data length field returned by the MODE SENSE command

login
register
mail settings
Submitter Kevin Wolf
Date Sept. 13, 2010, 12:42 p.m.
Message ID <1284381771-7333-2-git-send-email-kwolf@redhat.com>
Download mbox | patch
Permalink /patch/64592/
State New
Headers show

Comments

Kevin Wolf - Sept. 13, 2010, 12:42 p.m.
From: Bernhard Kohl <bernhard.kohl@nsn.com>

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 |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Patch

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index f43f2d0..57439f4 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;