Message ID | 20230911170340.699533-1-mge@meta.com |
---|---|
State | Superseded |
Headers | show |
Series | [1/2] pm80xx: Use phy specific sas address when sending PHY_START command | expand |
On Mon, Sep 11, 2023 at 7:03 PM Michal Grzedzicki <mge@meta.com> wrote: > > Some cards have more than one sas addresses. Using incorrect > address causes communication issues with some devices like expanders. > > Signed-off-by: Michal Grzedzicki <mge@meta.com> Acked-by: Jack Wang <jinpu.wang@ionos.com> > --- > drivers/scsi/pm8001/pm8001_hwi.c | 2 +- > drivers/scsi/pm8001/pm80xx_hwi.c | 2 +- > 2 files changed, 2 insertions(+), 2 deletions(-) > > diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c > index 33053db5a713..90069c7b1642 100644 > --- a/drivers/scsi/pm8001/pm8001_hwi.c > +++ b/drivers/scsi/pm8001/pm8001_hwi.c > @@ -4180,7 +4180,7 @@ pm8001_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id) > payload.sas_identify.dev_type = SAS_END_DEVICE; > payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; > memcpy(payload.sas_identify.sas_addr, > - pm8001_ha->sas_addr, SAS_ADDR_SIZE); > + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); > payload.sas_identify.phy_id = phy_id; > > return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload, > diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c > index f6857632dc7c..1b2c40b1381c 100644 > --- a/drivers/scsi/pm8001/pm80xx_hwi.c > +++ b/drivers/scsi/pm8001/pm80xx_hwi.c > @@ -4671,7 +4671,7 @@ pm80xx_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id) > payload.sas_identify.dev_type = SAS_END_DEVICE; > payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; > memcpy(payload.sas_identify.sas_addr, > - &pm8001_ha->sas_addr, SAS_ADDR_SIZE); > + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); > payload.sas_identify.phy_id = phy_id; > > return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload, > -- > 2.34.1 >
diff --git a/drivers/scsi/pm8001/pm8001_hwi.c b/drivers/scsi/pm8001/pm8001_hwi.c index 33053db5a713..90069c7b1642 100644 --- a/drivers/scsi/pm8001/pm8001_hwi.c +++ b/drivers/scsi/pm8001/pm8001_hwi.c @@ -4180,7 +4180,7 @@ pm8001_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id) payload.sas_identify.dev_type = SAS_END_DEVICE; payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; memcpy(payload.sas_identify.sas_addr, - pm8001_ha->sas_addr, SAS_ADDR_SIZE); + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); payload.sas_identify.phy_id = phy_id; return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload, diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c index f6857632dc7c..1b2c40b1381c 100644 --- a/drivers/scsi/pm8001/pm80xx_hwi.c +++ b/drivers/scsi/pm8001/pm80xx_hwi.c @@ -4671,7 +4671,7 @@ pm80xx_chip_phy_start_req(struct pm8001_hba_info *pm8001_ha, u8 phy_id) payload.sas_identify.dev_type = SAS_END_DEVICE; payload.sas_identify.initiator_bits = SAS_PROTOCOL_ALL; memcpy(payload.sas_identify.sas_addr, - &pm8001_ha->sas_addr, SAS_ADDR_SIZE); + &pm8001_ha->phy[phy_id].dev_sas_addr, SAS_ADDR_SIZE); payload.sas_identify.phy_id = phy_id; return pm8001_mpi_build_cmd(pm8001_ha, 0, opcode, &payload,
Some cards have more than one sas addresses. Using incorrect address causes communication issues with some devices like expanders. Signed-off-by: Michal Grzedzicki <mge@meta.com> --- drivers/scsi/pm8001/pm8001_hwi.c | 2 +- drivers/scsi/pm8001/pm80xx_hwi.c | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-)