summary refs log tree commit diff stats
diff options
context:
space:
mode:
authorPaolo Bonzini <pbonzini@redhat.com>2017-01-03 18:20:28 +0100
committerPaolo Bonzini <pbonzini@redhat.com>2017-01-16 17:52:35 +0100
commit1f8af0d186abf9ef775a74d41bf2852ed8d59b63 (patch)
treeac3500f35d9d3f8b025b364b8209c127050cab5f
parent26ef65beab852caf2b1ef4976e3473f2d525164d (diff)
downloadfocaccia-qemu-1f8af0d186abf9ef775a74d41bf2852ed8d59b63.tar.gz
focaccia-qemu-1f8af0d186abf9ef775a74d41bf2852ed8d59b63.zip
scsi-block: fix direction of BYTCHK test for VERIFY commands
The direction is wrong; scsi_block_is_passthrough returns
false for commands that *can* use sglists.

Reported-by: Zhang Qian <zhangqian@sangfor.com.cn>
Fixes: 8fdc7839e40f43a426bc7e858cf1dbfe315a3804
Cc: qemu-stable@nongnu.org
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
-rw-r--r--hw/scsi/scsi-disk.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/hw/scsi/scsi-disk.c b/hw/scsi/scsi-disk.c
index bdd1e5f86c..c080888413 100644
--- a/hw/scsi/scsi-disk.c
+++ b/hw/scsi/scsi-disk.c
@@ -2701,7 +2701,7 @@ static bool scsi_block_is_passthrough(SCSIDiskState *s, uint8_t *buf)
          * for the number of logical blocks specified in the length
          * field).  For other modes, do not use scatter/gather operation.
          */
-        if ((buf[1] & 6) != 2) {
+        if ((buf[1] & 6) == 2) {
             return false;
         }
         break;