Hi Martin, This patch series fixes a deadlock in the UFS driver between the suspend/resume code and the SCSI error handler. Please consider this patch series for the next merge window. Thanks, Bart. Changes compared to v3: * Added two patches: one patch to reduce the START STOP UNIT timeout and another patch that introduces the ufshcd_execute_start_stop() function. * Modified patch 3 such that it introduces a new flag (SCMD_FAIL_IF_RECOVERING) instead of modifying the behavior for the REQ_FAILFAST flags. Changes compared to v2: * Replaced the custom error handling code in ufshcd_eh_timed_out() with a call to ufshcd_link_recovery(). Changes compared to v1: * Added support in the SCSI core for failing SCSI commands quickly during host recovery. * Removed the patch that splits the ufshcd_err_handler() function. * Fixed the code in ufshcd_eh_timed_out() for handling command timeouts. * Removed the power management notifier again. Bart Van Assche (10): scsi: core: Fix a race between scsi_done() and scsi_timeout() scsi: core: Change the return type of .eh_timed_out() scsi: core: Support failing requests while recovering scsi: ufs: Remove an outdated comment scsi: ufs: Use 'else' in ufshcd_set_dev_pwr_mode() scsi: ufs: Reduce the START STOP UNIT timeout scsi: ufs: Try harder to change the power mode scsi: ufs: Track system suspend / resume activity scsi: ufs: Introduce the function ufshcd_execute_start_stop() scsi: ufs: Fix a deadlock between PM and the SCSI error handler Documentation/scsi/scsi_eh.rst | 7 +- drivers/message/fusion/mptsas.c | 8 +-- drivers/scsi/libiscsi.c | 26 +++---- drivers/scsi/megaraid/megaraid_sas_base.c | 7 +- drivers/scsi/mvumi.c | 4 +- drivers/scsi/qla4xxx/ql4_os.c | 8 +-- drivers/scsi/scsi_error.c | 41 +++++------ drivers/scsi/scsi_lib.c | 8 ++- drivers/scsi/scsi_transport_fc.c | 7 +- drivers/scsi/scsi_transport_srp.c | 8 +-- drivers/scsi/storvsc_drv.c | 4 +- drivers/scsi/virtio_scsi.c | 4 +- drivers/ufs/core/ufshcd.c | 86 ++++++++++++++++++----- include/scsi/libiscsi.h | 2 +- include/scsi/scsi_cmnd.h | 3 +- include/scsi/scsi_host.h | 14 +++- include/scsi/scsi_transport_fc.h | 2 +- include/scsi/scsi_transport_srp.h | 2 +- include/ufs/ufshcd.h | 5 +- 19 files changed, 155 insertions(+), 91 deletions(-)