OSDN Git Service

scsi_bus: fix length and xfer_mode for RESERVE and RELEASE commands
authorBernhard Kohl <bernhard.kohl@nsn.com>
Mon, 6 Sep 2010 14:58:44 +0000 (16:58 +0200)
committerKevin Wolf <kwolf@redhat.com>
Tue, 21 Sep 2010 13:39:43 +0000 (15:39 +0200)
For the RESERVE and RELEASE commands the length must be zero
and xfer_mode must be SCSI_XFER_NONE.

Signed-off-by: Bernhard Kohl <bernhard.kohl@nsn.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
hw/scsi-bus.c

index 7aa0bcd..5a3fd4b 100644 (file)
@@ -208,6 +208,8 @@ static int scsi_req_length(SCSIRequest *req, uint8_t *cmd)
     case SEEK_6:
     case WRITE_FILEMARKS:
     case SPACE:
+    case RESERVE:
+    case RELEASE:
     case ERASE:
     case ALLOW_MEDIUM_REMOVAL:
     case VERIFY:
@@ -319,7 +321,6 @@ static void scsi_req_xfer_mode(SCSIRequest *req)
     case WRITE_BUFFER:
     case FORMAT_UNIT:
     case REASSIGN_BLOCKS:
-    case RESERVE:
     case SEARCH_EQUAL:
     case SEARCH_HIGH:
     case SEARCH_LOW: