scsi: hisi_sas: fix dma_unmap_sg() parameter

For function dma_unmap_sg(), the <nents> parameter should be number of
elements in the scatterlist prior to the mapping, not after the mapping.

Fix this usage.

Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: John Garry <john.garry@huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
This commit is contained in:
Xiang Chen 2017-12-09 01:16:33 +08:00 committed by Martin K. Petersen
parent 39bade0c9f
commit dc1e4730e2
1 changed files with 4 additions and 2 deletions

View File

@ -192,7 +192,8 @@ void hisi_sas_slot_task_free(struct hisi_hba *hisi_hba, struct sas_task *task,
if (!sas_protocol_ata(task->task_proto)) if (!sas_protocol_ata(task->task_proto))
if (slot->n_elem) if (slot->n_elem)
dma_unmap_sg(dev, task->scatter, slot->n_elem, dma_unmap_sg(dev, task->scatter,
task->num_scatter,
task->data_dir); task->data_dir);
if (sas_dev) if (sas_dev)
@ -431,7 +432,8 @@ err_out:
dev_err(dev, "task prep: failed[%d]!\n", rc); dev_err(dev, "task prep: failed[%d]!\n", rc);
if (!sas_protocol_ata(task->task_proto)) if (!sas_protocol_ata(task->task_proto))
if (n_elem) if (n_elem)
dma_unmap_sg(dev, task->scatter, n_elem, dma_unmap_sg(dev, task->scatter,
task->num_scatter,
task->data_dir); task->data_dir);
prep_out: prep_out:
return rc; return rc;