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

scsi: mvsas: 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: b5762948 ("[SCSI] mvsas: Add Marvell 6440 SAS/SATA driver")
Signed-off-by: default avatarThomas Fourier <fourier.thomas@gmail.com>
Link: https://lore.kernel.org/r/20250627134822.234813-2-fourier.thomas@gmail.com


Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
parent 3a988d0b
Loading
Loading
Loading
Loading
+2 −2
Original line number Diff line number Diff line
@@ -818,7 +818,7 @@ static int mvs_task_prep(struct sas_task *task, struct mvs_info *mvi, int is_tmf
	dev_printk(KERN_ERR, mvi->dev, "mvsas prep failed[%d]!\n", rc);
	if (!sas_protocol_ata(task->task_proto))
		if (n_elem)
			dma_unmap_sg(mvi->dev, task->scatter, n_elem,
			dma_unmap_sg(mvi->dev, task->scatter, task->num_scatter,
				     task->data_dir);
prep_out:
	return rc;
@@ -864,7 +864,7 @@ static void mvs_slot_task_free(struct mvs_info *mvi, struct sas_task *task,
	if (!sas_protocol_ata(task->task_proto))
		if (slot->n_elem)
			dma_unmap_sg(mvi->dev, task->scatter,
				     slot->n_elem, task->data_dir);
				     task->num_scatter, task->data_dir);

	switch (task->task_proto) {
	case SAS_PROTOCOL_SMP: