2022-12-28 03:49:32

by Jiasheng Jiang

[permalink] [raw]
Subject: [PATCH] scsi: qla2xxx: Add missing check for dma_map_single

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 <[email protected]>
---
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