[v2,1/6] scsi-disk: fix the mode data length field returned by the MODE SENSE command

Submitted by Bernhard Kohl on Aug. 31, 2010, 9:22 a.m.

Details

Message ID 1283246554-10253-2-git-send-email-bernhard.kohl@nsn.com
State New
Headers show

Commit Message

Bernhard Kohl Aug. 31, 2010, 9:22 a.m.
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>
---
 hw/scsi-disk.c |    2 +-
 1 files changed, 1 insertions(+), 1 deletions(-)

Comments

Kevin Wolf Aug. 31, 2010, 10:26 a.m.
Am 31.08.2010 11:22, schrieb Bernhard Kohl:
> 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>

Thanks, applied to the block branch.

Patches 3-6 look good to me as well, but they don't apply cleanly
without patch 2, which I think needs to fixed.

Kevin
Bernhard Kohl Aug. 31, 2010, 10:52 a.m.
Am 31.08.2010 12:26, schrieb ext Kevin Wolf:
>
> Am 31.08.2010 11:22, schrieb Bernhard Kohl:
> > 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>
>
> Thanks, applied to the block branch.
>
> Patches 3-6 look good to me as well, but they don't apply cleanly
> without patch 2, which I think needs to fixed.
>
> Kevin
>

Ok, I'll fix patch 2 and resend the series as v3.

Bernhard

Patch hide | download patch | download mbox

diff --git a/hw/scsi-disk.c b/hw/scsi-disk.c
index 07a6d86..b627ffe 100644
--- a/hw/scsi-disk.c
+++ b/hw/scsi-disk.c
@@ -653,7 +653,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;