From: Deepak Ukey <deepak.u...@microchip.com>

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

Signed-off-by: Deepak Ukey <deepak.u...@microchip.com>
Signed-off-by: Viswas G <viswa...@microchip.com>
Acked-by: Jack Wang <jinpu.w...@profitbricks.com> 
---
 drivers/scsi/pm8001/pm8001_sas.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/drivers/scsi/pm8001/pm8001_sas.c b/drivers/scsi/pm8001/pm8001_sas.c
index d8249675371e..e063faad66f5 100644
--- a/drivers/scsi/pm8001/pm8001_sas.c
+++ b/drivers/scsi/pm8001/pm8001_sas.c
@@ -488,7 +488,7 @@ static int pm8001_task_exec(struct sas_task *task,
        dev_printk(KERN_ERR, pm8001_ha->dev, "pm8001 exec failed[%d]!\n", rc);
        if (!sas_protocol_ata(t->task_proto))
                if (n_elem)
-                       dma_unmap_sg(pm8001_ha->dev, t->scatter, n_elem,
+                       dma_unmap_sg(pm8001_ha->dev, t->scatter, t->num_scatter,
                                t->data_dir);
 out_done:
        spin_unlock_irqrestore(&pm8001_ha->lock, flags);
-- 
2.19.0-rc1

Reply via email to