Add check for dma_map_single and return error if it fails in order to avoid invalid dma being used by dma_sync_single_for_device. Fixes: e84067d74301 ("scsi: qla2xxx: Add FC-NVMe F/W initialization and transport registration") Signed-off-by: Jiasheng Jiang <jiasheng@xxxxxxxxxxx> --- drivers/scsi/qla2xxx/qla_nvme.c | 3 +++ 1 file changed, 3 insertions(+) diff --git a/drivers/scsi/qla2xxx/qla_nvme.c b/drivers/scsi/qla2xxx/qla_nvme.c index 02fdeb0d31ec..28e75bfd8a3a 100644 --- a/drivers/scsi/qla2xxx/qla_nvme.c +++ b/drivers/scsi/qla2xxx/qla_nvme.c @@ -367,6 +367,9 @@ static int qla_nvme_ls_req(struct nvme_fc_local_port *lport, nvme->u.nvme.timeout_sec = fd->timeout; nvme->u.nvme.cmd_dma = dma_map_single(&ha->pdev->dev, fd->rqstaddr, fd->rqstlen, DMA_TO_DEVICE); + if (dma_mapping_error(&ha->pdev->dev, nvme->u.nvme.cmd_dma)) + return rval; + dma_sync_single_for_device(&ha->pdev->dev, nvme->u.nvme.cmd_dma, fd->rqstlen, DMA_TO_DEVICE); -- 2.25.1