]> git.hungrycats.org Git - linux/commit
scsi: libsas: Fix disk not being scanned in after being removed
authorXingui Yang <yangxingui@huawei.com>
Thu, 7 Mar 2024 14:14:13 +0000 (14:14 +0000)
committerMartin K. Petersen <martin.petersen@oracle.com>
Sun, 10 Mar 2024 22:02:54 +0000 (18:02 -0400)
commit8e68a458bcf5b5cb9c3624598bae28f08251601f
tree04b8e264fd97936741da0562c5d8f2ed2ecf7532
parenta57345279fd311ba679b8083feb0eec5272c7729
scsi: libsas: Fix disk not being scanned in after being removed

As of commit d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to
update PHY info"), do discovery will send a new SMP_DISCOVER and update
phy->phy_change_count. We found that if the disk is reconnected and phy
change_count changes at this time, the disk scanning process will not be
triggered.

Therefore, call sas_set_ex_phy() to update the PHY info with the results of
the last query. And because the previous phy info will be used when calling
sas_unregister_devs_sas_addr(), sas_unregister_devs_sas_addr() should be
called before sas_set_ex_phy().

Fixes: d8649fc1c5e4 ("scsi: libsas: Do discovery on empty PHY to update PHY info")
Signed-off-by: Xingui Yang <yangxingui@huawei.com>
Link: https://lore.kernel.org/r/20240307141413.48049-3-yangxingui@huawei.com
Reviewed-by: John Garry <john.g.garry@oracle.com>
Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
drivers/scsi/libsas/sas_expander.c