[PATCH][SRU Bionic][SRU Artful][Unstable] scsi: hisi_sas: make SAS address of SATA disks unique

dann frazier dann.frazier at canonical.com
Wed Jun 13 20:00:55 UTC 2018


From: Xiang Chen <chenxiang66 at hisilicon.com>

BugLink: https://bugs.launchpad.net/bugs/1776750

When directly connected with SATA disks in different SAS cores, fill SAS
address with scsi_host's id to make it's fake SAS address unique.

Signed-off-by: Xiang Chen <chenxiang66 at hisilicon.com>
Signed-off-by: John Garry <john.garry at huawei.com>
Signed-off-by: Martin K. Petersen <martin.petersen at oracle.com>
(cherry picked from commit 8b8d66531555006a18d1532546dadbea8d16df95)
Signed-off-by: dann frazier <dann.frazier at canonical.com>
---
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 1 +
 1 file changed, 1 insertion(+)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index 0215c2e3380e..5d6b5a73e6f7 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3240,6 +3240,7 @@ static irqreturn_t sata_int_v2_hw(int irq_no, void *p)
 	sas_phy->oob_mode = SATA_OOB_MODE;
 	/* Make up some unique SAS address */
 	attached_sas_addr[0] = 0x50;
+	attached_sas_addr[6] = hisi_hba->shost->host_no;
 	attached_sas_addr[7] = phy_no;
 	memcpy(sas_phy->attached_sas_addr, attached_sas_addr, SAS_ADDR_SIZE);
 	memcpy(sas_phy->frame_rcvd, fis, sizeof(struct dev_to_host_fis));
-- 
2.17.1





More information about the kernel-team mailing list