aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChangyuan Lyu <changyuanl@google.com>2022-07-08 13:50:26 -0700
committerMartin K. Petersen <martin.petersen@oracle.com>2022-07-13 23:27:59 -0400
commit355bf2e036c954317ddc4a9618b4f7e38ea5a970 (patch)
tree45c73d073dba950dd08eaed5ab79a89817a65121
parentscsi: pm80xx: Fix 'Unknown' max/min linkrate (diff)
downloadlinux-dev-355bf2e036c954317ddc4a9618b4f7e38ea5a970.tar.xz
linux-dev-355bf2e036c954317ddc4a9618b4f7e38ea5a970.zip
scsi: pm80xx: Set stopped phy's linkrate to Disabled
Negotiated link rate needs to be updated to 'Disabled' when phy is stopped. Link: https://lore.kernel.org/r/20220708205026.969161-1-changyuanl@google.com Reviewed-by: Igor Pylypiv <ipylypiv@google.com> Signed-off-by: Changyuan Lyu <changyuanl@google.com> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/pm8001/pm80xx_hwi.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/drivers/scsi/pm8001/pm80xx_hwi.c b/drivers/scsi/pm8001/pm80xx_hwi.c
index 01c5e8ff4cc5..303cd05fec50 100644
--- a/drivers/scsi/pm8001/pm80xx_hwi.c
+++ b/drivers/scsi/pm8001/pm80xx_hwi.c
@@ -3723,8 +3723,12 @@ static int mpi_phy_stop_resp(struct pm8001_hba_info *pm8001_ha, void *piomb)
pm8001_dbg(pm8001_ha, MSG, "phy:0x%x status:0x%x\n",
phyid, status);
if (status == PHY_STOP_SUCCESS ||
- status == PHY_STOP_ERR_DEVICE_ATTACHED)
+ status == PHY_STOP_ERR_DEVICE_ATTACHED) {
phy->phy_state = PHY_LINK_DISABLE;
+ phy->sas_phy.phy->negotiated_linkrate = SAS_PHY_DISABLED;
+ phy->sas_phy.linkrate = SAS_PHY_DISABLED;
+ }
+
return 0;
}