Skip to contentSkip to conversation

pm80xx: Indirect SMP request fix.

PATCH New Anand 1 participant 1 message Oct 1, 2013

Subsystems (2)
lore
Share & tools
lore

Anand

author
#0 lore raw

PATCH v3 2/10 pm80xx: Indirect SMP request fix.

Quoted 1 line

From 987027bc020c71d76bb10a45c2d566e64156d3eb Mon Sep 17 00:00:00 2001

From: Anand Kumar Santhanam <[email protected]>
Date: Tue, 17 Sep 2013 14:37:14 +0530
Subject: [PATCH V3 02/10] pm80xx: Indirect SMP request fix.

Fix for indirect data transfer mode in case of SMP request.

---
 drivers/scsi/pm8001/pm80xx_hwi.c |    4 +---
 1 files changed, 1 insertions(+), 3 deletions(-)
drivers/scsi/pm8001/pm80xx_hwi.c +1 -3
index 6f836d1..8bac5ae 100644
@@ -3492,8 +3492,6 @@ static int pm80xx_chip_smp_req(struct pm8001_hba_info *pm8001_ha,
 	else
 		pm8001_ha->smp_exp_mode = SMP_INDIRECT;
 
-	/* DIRECT MODE support only in spcv/ve */
-	pm8001_ha->smp_exp_mode = SMP_DIRECT;
 
 	tmp_addr = cpu_to_le64((u64)sg_dma_address(&task->smp_task.smp_req));
 	preq_dma_addr = (char *)phys_to_virt(tmp_addr);
@@ -3509,7 +3507,7 @@ static int pm80xx_chip_smp_req(struct pm8001_hba_info *pm8001_ha,
 		/* exclude top 4 bytes for SMP req header */
 		smp_cmd.long_smp_req.long_req_addr =
 			cpu_to_le64((u64)sg_dma_address
-				(&task->smp_task.smp_req) - 4);
+				(&task->smp_task.smp_req) + 4);
 		/* exclude 4 bytes for SMP req header and CRC */
 		smp_cmd.long_smp_req.long_req_size =
 			cpu_to_le32((u32)sg_dma_len(&task->smp_task.smp_req)-8);
Signature · 1 line
1.7.1