aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorYihang Li <liyihang9@huawei.com>2023-01-04 12:03:20 +0800
committerMartin K. Petersen <martin.petersen@oracle.com>2023-01-12 00:08:03 -0500
commitf58c89700630da6554b24fd3df293a24874c10c1 (patch)
tree40cadac2e2ca7f215ce9971650d121a271a57620
parent037b48057e8b485a8d72f808122796aeadbbee32 (diff)
downloadlinux-f58c89700630da6554b24fd3df293a24874c10c1.tar.gz
scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id
Currently the driver sets the port invalid if one phy in the port is not enabled, which may cause issues in expander situation. In directly attached situation, if phy up doesn't occur in time when refreshing port id, the port is incorrectly set to invalid which will also cause disk lost. Therefore set a port invalid only if there are no devices attached to the port. Signed-off-by: Yihang Li <liyihang9@huawei.com> Signed-off-by: Xiang Chen <chenxiang66@hisilicon.com> Link: https://lore.kernel.org/r/1672805000-141102-3-git-send-email-chenxiang66@hisilicon.com Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
-rw-r--r--drivers/scsi/hisi_sas/hisi_sas_main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/scsi/hisi_sas/hisi_sas_main.c b/drivers/scsi/hisi_sas/hisi_sas_main.c
index 5e06b7add125b9..8c038ccf1c0954 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_main.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_main.c
@@ -1316,7 +1316,7 @@ static void hisi_sas_refresh_port_id(struct hisi_hba *hisi_hba)
device->linkrate = phy->sas_phy.linkrate;
hisi_hba->hw->setup_itct(hisi_hba, sas_dev);
- } else
+ } else if (!port->port_attached)
port->id = 0xff;
}
}