Commit 023a293b authored by Thomas Fourier's avatar Thomas Fourier Committed by Martin K. Petersen
Browse files

scsi: ibmvscsi_tgt: Fix dma_unmap_sg() nents value



The dma_unmap_sg() functions should be called with the same nents as the
dma_map_sg(), not the value the map function returned.

Fixes: 88a678bb ("ibmvscsis: Initial commit of IBM VSCSI Tgt Driver")
Signed-off-by: default avatarThomas Fourier <fourier.thomas@gmail.com>
Link: https://lore.kernel.org/r/20250630111803.94389-2-fourier.thomas@gmail.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 278577d8
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -184,7 +184,8 @@ static int srp_direct_data(struct ibmvscsis_cmd *cmd, struct srp_direct_buf *md,
	err = rdma_io(cmd, sg, nsg, md, 1, dir, len);

	if (dma_map)
		dma_unmap_sg(iue->target->dev, sg, nsg, DMA_BIDIRECTIONAL);
		dma_unmap_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents,
			     DMA_BIDIRECTIONAL);

	return err;
}
@@ -256,7 +257,8 @@ static int srp_indirect_data(struct ibmvscsis_cmd *cmd, struct srp_cmd *srp_cmd,
	err = rdma_io(cmd, sg, nsg, md, nmd, dir, len);

	if (dma_map)
		dma_unmap_sg(iue->target->dev, sg, nsg, DMA_BIDIRECTIONAL);
		dma_unmap_sg(iue->target->dev, sg, cmd->se_cmd.t_data_nents,
			     DMA_BIDIRECTIONAL);

free_mem:
	if (token && dma_map) {