[PATCH for-next 0/5] scsi: hisi_sas/libsas: Fix SATA devices missing issue during hisi_sas_debug_I_T_nexus_reset()

From: Jie Zhan
Date: Fri Nov 18 2022 - 03:38:52 EST


SATA devices on an expander may be removed and not be found again
when I_T nexus reset and revalidation are processed simultaneously,
which is probable to happen in hisi_sas_clear_nexus_ha().

The issue came up since commit 71453bd9d1bf ("scsi: hisi_sas: Use
sas_ata_wait_after_reset() in IT nexus reset"), where the ex_phy's
change count is updated in hisi_sas_debug_I_T_nexus_reset(), stopping
future revalidation from discovering the SATA devices after link
reset.

This patchset fixes the issue.

Jie Zhan (5):
Revert "scsi: hisi_sas: Drain bcast events in
hisi_sas_rescan_topology()"
Revert "scsi: hisi_sas: Don't send bcast events from HW during nexus
HA reset"
scsi: libsas: Add smp_ata_check_ready_type()
scsi: hisi_sas: Fix SATA devices missing issue during I_T nexus reset
scsi: libsas: Do not export sas_ata_wait_after_reset()

drivers/scsi/hisi_sas/hisi_sas_main.c | 31 ++++++++-------------------
drivers/scsi/libsas/sas_ata.c | 28 ++++++++++++++++++++++--
drivers/scsi/libsas/sas_expander.c | 4 ++--
drivers/scsi/libsas/sas_internal.h | 2 ++
include/scsi/sas_ata.h | 7 +++---
5 files changed, 42 insertions(+), 30 deletions(-)

--
2.30.0