]> www.infradead.org Git - users/jedix/linux-maple.git/commit
scsi: hisi_sas: Enable all PHYs that are not disabled by user during controller reset
authorYihang Li <liyihang9@huawei.com>
Tue, 8 Oct 2024 02:18:13 +0000 (10:18 +0800)
committerMartin K. Petersen <martin.petersen@oracle.com>
Wed, 16 Oct 2024 02:33:34 +0000 (22:33 -0400)
commit08a07dc71d7fc6f58c35c4fc0bcede2811c5aa4c
tree3dc655d447ac776e6862d2967644b7d72b679cdf
parent2c335fa7e69c06d8932ae8bc0ec7145de2973cf5
scsi: hisi_sas: Enable all PHYs that are not disabled by user during controller reset

For the controller reset operation(such as FLR or clear nexus ha in SCSI
EH), we will disable all PHYs and then enable PHY based on the
hisi_hba->phy_state obtained in hisi_sas_controller_reset_prepare(). If
the device is removed before controller reset or the PHY is not attached
to any device in directly attached scenario, the corresponding bit of
phy_state is not set. After controller reset done, the PHY is disabled.
The device cannot be identified even if user reconnect the disk.

Therefore, for PHYs that are not disabled by user, hisi_sas_phy_enable()
needs to be executed even if the corresponding bit of phy_state is not
set.

Fixes: 89954f024c3a ("scsi: hisi_sas: Ensure all enabled PHYs up during controller reset")
Signed-off-by: Yihang Li <liyihang9@huawei.com>
Link: https://lore.kernel.org/r/20241008021822.2617339-5-liyihang9@huawei.com
Reviewed-by: Xiang Chen <chenxiang66@hisilicon.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/hisi_sas/hisi_sas_main.c