hw: megasas: return -1 when 'megasas_map_sgl' fails

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 <liq3ea@163.com>
Message-Id: <20200815141940.44025-2-liq3ea@163.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
This commit is contained in:
Li Qiang 2020-08-15 07:19:39 -07:00 committed by Paolo Bonzini
parent afff2db61f
commit 5ecfbae201

View File

@ -280,7 +280,7 @@ static int megasas_map_sgl(MegasasState *s, MegasasCmd *cmd, union mfi_sgl *sgl)
if (iov_count > MEGASAS_MAX_SGE) { if (iov_count > MEGASAS_MAX_SGE) {
trace_megasas_iovec_sgl_overflow(cmd->index, iov_count, trace_megasas_iovec_sgl_overflow(cmd->index, iov_count,
MEGASAS_MAX_SGE); MEGASAS_MAX_SGE);
return iov_count; return -1;
} }
pci_dma_sglist_init(&cmd->qsg, PCI_DEVICE(s), iov_count); pci_dma_sglist_init(&cmd->qsg, PCI_DEVICE(s), iov_count);
for (i = 0; i < iov_count; i++) { 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; return 0;
unmap: unmap:
qemu_sglist_destroy(&cmd->qsg); qemu_sglist_destroy(&cmd->qsg);
return iov_count - i; return -1;
} }
/* /*