Hello everyone, This is version three of the patch series that simplifies and optimizes the UFS driver. These patches are entirely untested. Any feedback is welcome. Thanks, Bart. 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 (3): 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 | 375 +++++++++++++++++--------------------- drivers/scsi/ufs/ufshcd.h | 21 +-- 2 files changed, 169 insertions(+), 227 deletions(-)