scsi: add missing test for cancelled request
authorPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Apr 2012 08:09:49 +0000 (10:09 +0200)
committerPaolo Bonzini <pbonzini@redhat.com>
Thu, 19 Apr 2012 13:27:19 +0000 (15:27 +0200)
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi-disk.c

index 9949786e5204c295c4696b1d1167258f525c614f..792e9d045a6feb3ce542db8dce741340c7330885 100644 (file)
@@ -171,7 +171,9 @@ static void scsi_dma_complete(void *opaque, int ret)
     scsi_req_complete(&r->req, GOOD);
 
 done:
-    scsi_req_unref(&r->req);
+    if (!r->req.io_canceled) {
+        scsi_req_unref(&r->req);
+    }
 }
 
 static void scsi_read_complete(void * opaque, int ret)