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

login
register
mail settings
Submitter Bernhard Kohl
Date Aug. 31, 2010, 9:22 a.m.
Message ID <1283246554-10253-2-git-send-email-bernhard.kohl@nsn.com>
Download mbox | patch
Permalink /patch/63218/
State New
Headers show

Comments

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(-)
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

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;