Hi Martin, In the traces we recorded while testing zoned storage we noticed that UFS commands are requeued while the clock is being ungated. Command requeueing makes it harder than necessary to preserve the command order. Hence this patch series that modifies the SCSI core and also the UFS driver such that clock ungating does not trigger command requeueing. Please consider this patch series for the next merge window. Thanks, Bart. Changes compared to v2: - Only enable BLK_MQ_F_BLOCKING if necessary. Changes compared to v1: - Dropped patch "scsi: ufs: core: Unexport ufshcd_hold() and ufshcd_release()". - Removed a ufshcd_scsi_block_requests() / ufshcd_scsi_unblock_requests() pair from patch "scsi: ufs: Ungate the clock synchronously". Bart Van Assche (4): scsi: core: Rework scsi_host_block() scsi: core: Support setting BLK_MQ_F_BLOCKING scsi: ufs: Conditionally enable the BLK_MQ_F_BLOCKING flag scsi: ufs: Ungate the clock synchronously drivers/scsi/hosts.c | 1 + drivers/scsi/scsi_lib.c | 26 +++++----- drivers/ufs/core/ufs-sysfs.c | 2 +- drivers/ufs/core/ufshcd-crypto.c | 2 +- drivers/ufs/core/ufshcd-priv.h | 2 +- drivers/ufs/core/ufshcd.c | 85 ++++++++++---------------------- include/scsi/scsi_host.h | 6 +++ include/ufs/ufshcd.h | 2 +- 8 files changed, 53 insertions(+), 73 deletions(-)