scsi: mvsas: Fix dma_unmap_sg() nents value
[ Upstream commit 0141618727bc929fe868153d21797f10ce5bef3f ]
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: b576294826 ("[SCSI] mvsas: Add Marvell 6440 SAS/SATA driver")
Signed-off-by: Thomas Fourier <fourier.thomas@gmail.com>
Link: https://lore.kernel.org/r/20250627134822.234813-2-fourier.thomas@gmail.com
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Sasha Levin <sashal@kernel.org>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
7387662c90
commit
0d1d577bb4
@@ -829,7 +829,7 @@ err_out:
|
||||
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;
|
||||
@@ -880,7 +880,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:
|
||||
|
||||
Reference in New Issue
Block a user