Skip to content

Commit 71996bb

Browse files
Michal Grzedzickimartinkpetersen
authored andcommitted
scsi: pm80xx: Use phy-specific SAS address when sending PHY_START command
Some cards have more than one SAS address. Using an incorrect address causes communication issues with some devices like expanders. Closes: https://lore.kernel.org/linux-kernel/[email protected]/ Signed-off-by: Michal Grzedzicki <[email protected]> Link: https://lore.kernel.org/r/[email protected] Acked-by: Jack Wang <[email protected]> Signed-off-by: Martin K. Petersen <[email protected]>
1 parent 4f6cee6 commit 71996bb

File tree

2 files changed

+2
-2
lines changed

2 files changed

+2
-2
lines changed

drivers/scsi/pm8001/pm8001_hwi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4180,7 +4180,7 @@ pm8001_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id)
41804180
payload.sas_identify.dev_type = SAS_END_DEVICE;
41814181
payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
41824182
memcpy(payload.sas_identify.sas_addr,
4183-
pm8001_ha->sas_addr, SAS_ADDR_SIZE);
4183+
&pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
41844184
payload.sas_identify.phy_id = phy_id;
41854185

41864186
return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,

drivers/scsi/pm8001/pm80xx_hwi.c

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4671,7 +4671,7 @@ pm80xx_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id)
46714671
payload.sas_identify.dev_type = SAS_END_DEVICE;
46724672
payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL;
46734673
memcpy(payload.sas_identify.sas_addr,
4674-
&pm8001_ha->sas_addr, SAS_ADDR_SIZE);
4674+
&pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE);
46754675
payload.sas_identify.phy_id = phy_id;
46764676

46774677
return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,

0 commit comments

Comments
 (0)