scsi: hisi_sas: Set a port invalid only if there are no devices attached when refresh...
authorYihang Li <liyihang9@huawei.com>
Wed, 4 Jan 2023 04:03:20 +0000 (12:03 +0800)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>
Wed, 1 Feb 2023 07:34:32 +0000 (08:34 +0100)
commitb886ccb190f0819c04d90ec11d93aeb1cc9d9a0a
tree151ac41daec08b65563dfc77ec5d2b69b79ae446
parent223dddc8807bce42350e2743a034adb9b4a9fea9
scsi: hisi_sas: Set a port invalid only if there are no devices attached when refreshing port id

[ Upstream commit f58c89700630da6554b24fd3df293a24874c10c1 ]

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>
Signed-off-by: Sasha Levin <sashal@kernel.org>
drivers/scsi/hisi_sas/hisi_sas_main.c