hw: megasas: consider 'iov_count=0' is an error in megasas_map_sgl
authorLi Qiang <liq3ea@163.com>
Sat, 15 Aug 2020 14:19:40 +0000 (07:19 -0700)
committerPaolo Bonzini <pbonzini@redhat.com>
Wed, 30 Sep 2020 17:09:20 +0000 (19:09 +0200)
commit4773a5f35b0d83674f92816a226a594b03bbcf60
treea35d82d80af66bbf14c52a7433f7e7e8e6dfeae2
parent5ecfbae201d68a2f13df233260c77b0a25d7cd35
hw: megasas: consider 'iov_count=0' is an error in megasas_map_sgl

Currently in 'megasas_map_sgl' when 'iov_count=0' will just return
success however the 'cmd' doens't contain any iov. This will cause
the assert in 'scsi_dma_complete' failed. This is because in
'dma_blk_cb' the 'dbs->sg_cur_index == dbs->sg->nsg' will be true
and just call 'dma_complete'. However now there is no aiocb returned.

This fixes the LP#1878263:

-->https://bugs.launchpad.net/qemu/+bug/1878263

Reported-by: Alexander Bulekov <alxndr@bu.edu>
Signed-off-by: Li Qiang <liq3ea@163.com>
Message-Id: <20200815141940.44025-3-liq3ea@163.com>
Signed-off-by: Paolo Bonzini <pbonzini@redhat.com>
hw/scsi/megasas.c