scsi-generic: correct 6-bytes commands transfer length (Laurent Vivier)
According to SCSI documentation, for 6 bytes commands (READ(6),
WRITE(6)), if transfer length is 0 it specifies 256 blocks.
Signed-off-by: Laurent Vivier <[email protected]>
Signed-off-by: Anthony Liguori <[email protected]>
git-svn-id: svn://svn.savannah.nongnu.org/qemu/trunk@5292 c046a42c-6fe2-441c-8c8c-71466251a162
diff --git a/hw/scsi-generic.c b/hw/scsi-generic.c
index 88147b5..e23276f 100644
--- a/hw/scsi-generic.c
+++ b/hw/scsi-generic.c
@@ -352,6 +352,9 @@
case 0:
*len = cmd[4];
*cmdlen = 6;
+ /* length 0 means 256 blocks */
+ if (*len == 0)
+ *len = 256;
break;
case 1:
case 2: