[PATCH 0/2] Fix two issue between removing device and error handle

From: Wenchao Hao
Date: Fri Sep 22 2023 - 05:37:03 EST


I am testing SCSI error handle with my previous scsi_debug error
injection patches, and found two issue when removing device and
error handler happened together.

The first patch fix IO hang because scsi_eh_flush_done_q() would
retry command if the device is in SDEV_CANCEL state;

The second patch fix the issue which device's eh_device_reset_handler
not called in recovery when device is in removing progress.

Wenchao Hao (2):
scsi: core: scsi_device_online() return false if state is SDEV_CANCEL
scsi: scsi_error: Fix device reset is not triggered

drivers/infiniband/ulp/srp/ib_srp.c | 2 +-
drivers/message/fusion/mptctl.c | 6 ++--
drivers/message/fusion/mptsas.c | 8 ++---
drivers/message/fusion/mptspi.c | 6 ++--
drivers/s390/scsi/zfcp_fsf.c | 4 +--
drivers/s390/scsi/zfcp_scsi.c | 2 +-
drivers/scsi/arm/acornscsi.c | 2 +-
drivers/scsi/arm/fas216.c | 4 +--
drivers/scsi/bfa/bfad_im.c | 4 +--
drivers/scsi/ibmvscsi/ibmvfc.c | 2 +-
drivers/scsi/lpfc/lpfc_scsi.c | 4 +--
drivers/scsi/megaraid/megaraid_sas_base.c | 2 +-
drivers/scsi/megaraid/megaraid_sas_fusion.c | 2 +-
drivers/scsi/mpt3sas/mpt3sas_ctl.c | 4 +--
drivers/scsi/mpt3sas/mpt3sas_scsih.c | 16 ++++-----
drivers/scsi/myrb.c | 2 +-
drivers/scsi/myrs.c | 2 +-
drivers/scsi/scsi.c | 37 ++++++++++++---------
drivers/scsi/scsi_debug.c | 2 +-
drivers/scsi/scsi_error.c | 12 +++----
drivers/scsi/scsi_lib.c | 6 ++--
drivers/scsi/scsi_scan.c | 2 +-
drivers/scsi/scsi_transport_srp.c | 2 +-
drivers/scsi/ses.c | 2 +-
drivers/scsi/storvsc_drv.c | 2 +-
drivers/scsi/virtio_scsi.c | 2 +-
drivers/ufs/core/ufshcd.c | 4 +--
include/scsi/scsi_device.h | 15 ++++++---
28 files changed, 85 insertions(+), 73 deletions(-)

--
2.32.0