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 is the LP#1878263: -->https://bugs.launchpad.net/qemu/+bug/1878263 To solve this we will consider the 'iov_count=0' is an error. In the first patch, I uses -1 to indicate an error and in the second patch I consider 'iov_count=0' is an error. Li Qiang (2): hw: megasas: return -1 when 'megasas_map_sgl' fails hw: megasas: consider 'iov_count=0' is an error in megasas_map_sgl hw/scsi/megasas.c | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) -- 2.17.1
