]> Git Repo - qemu.git/commitdiff
hw: megasas: return -1 when 'megasas_map_sgl' fails
authorLi Qiang <[email protected]>
Sat, 15 Aug 2020 14:19:39 +0000 (07:19 -0700)
committerPaolo Bonzini <[email protected]>
Wed, 30 Sep 2020 17:09:20 +0000 (19:09 +0200)
The caller of 'megasas_map_sgl' will only check if the return
is zero or not. If it return 0 it means success, as in the next
patch we will consider 'iov_count=0' is an error, so let's
return -1 to indicate a failure.

Signed-off-by: Li Qiang <[email protected]>
Message-Id: <20200815141940[email protected]>
Signed-off-by: Paolo Bonzini <[email protected]>
hw/scsi/megasas.c

index e90c00823ad7885915f2548ac646dede8d49da97..4cc709d2c6b1f55359fcc950d0e134a95f6e88dc 100644 (file)
@@ -280,7 +280,7 @@ static int megasas_map_sgl(MegasasState *s, MegasasCmd *cmd, union mfi_sgl *sgl)
     if (iov_count > MEGASAS_MAX_SGE) {
         trace_megasas_iovec_sgl_overflow(cmd->index, iov_count,
                                          MEGASAS_MAX_SGE);
-        return iov_count;
+        return -1;
     }
     pci_dma_sglist_init(&cmd->qsg, PCI_DEVICE(s), iov_count);
     for (i = 0; i < iov_count; i++) {
@@ -310,7 +310,7 @@ static int megasas_map_sgl(MegasasState *s, MegasasCmd *cmd, union mfi_sgl *sgl)
     return 0;
 unmap:
     qemu_sglist_destroy(&cmd->qsg);
-    return iov_count - i;
+    return -1;
 }
 
 /*
This page took 0.030243 seconds and 4 git commands to generate.