]> git.ipfire.org Git - thirdparty/kernel/stable.git/commitdiff
scsi: qla2xxx: Fix DMA mapping test in qla24xx_get_port_database()
authorThomas Fourier <fourier.thomas@gmail.com>
Tue, 17 Jun 2025 16:11:11 +0000 (18:11 +0200)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Thu, 10 Jul 2025 13:57:44 +0000 (15:57 +0200)
[ Upstream commit c3b214719a87735d4f67333a8ef3c0e31a34837c ]

dma_map_XXX() functions return as error values DMA_MAPPING_ERROR which is
often ~0.  The error value should be tested with dma_mapping_error() like
it was done in qla26xx_dport_diagnostics().

Fixes: 818c7f87a177 ("scsi: qla2xxx: Add changes in preparation for vendor extended FDMI/RDP")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Link: https://lore.kernel.org/r/20250617161115.39888-2-fourier.thomas@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/qla2xxx/qla_mbx.c

index d2ff54beb7cd7b82b27a36ffe57b608b1a13c206..7a28582b1f73a55d0bf20e24f333fb970047f7ae 100644 (file)
@@ -2141,7 +2141,7 @@ qla24xx_get_port_database(scsi_qla_host_t *vha, u16 nport_handle,
 
        pdb_dma = dma_map_single(&vha->hw->pdev->dev, pdb,
            sizeof(*pdb), DMA_FROM_DEVICE);
-       if (!pdb_dma) {
+       if (dma_mapping_error(&vha->hw->pdev->dev, pdb_dma)) {
                ql_log(ql_log_warn, vha, 0x1116, "Failed to map dma buffer.\n");
                return QLA_MEMORY_ALLOC_FAILED;
        }