Hello Martin, This patch series that simplifies and optimizes the UFS driver. Please consider this patch series for kernel v5.5. Thanks, Bart. Changes compared to v4: - Reverted back to scsi_block_requests() / scsi_unblock_requests() for the UFS error handler. - Added a new patch that serializes error handling and command submission. - Fixed a blk_mq_init_queue() return value check. Changes compared to v3: - Left out "scsi" from the name of the functions that suspend and resume command processing. Changes compared to v2: - Use a separate tag set for TMF tags. Changes compared to v1: - Use the block layer tag infrastructure for managing TMF tags. Bart Van Assche (4): ufs: Serialize error handling and command submission ufs: Avoid busy-waiting by eliminating tag conflicts ufs: Use blk_{get,put}_request() to allocate and free TMFs ufs: Simplify the clock scaling mechanism implementation drivers/scsi/ufs/ufshcd.c | 396 +++++++++++++++++--------------------- drivers/scsi/ufs/ufshcd.h | 21 +- 2 files changed, 186 insertions(+), 231 deletions(-)