From 72fa98b5148caec586f3c32e202fcc1471543935 Mon Sep 17 00:00:00 2001 From: Jaegeuk Kim Date: Wed, 30 Jun 2021 17:45:34 -0700 Subject: [PATCH] FROMLIST: scsi: ufs: add missing host_lock in setup_xfer_req This patch adds a host_lock which existed before on ufshcd_vops_setup_xfer_req. Bug: 190637035 Cc: Stanley Chu Cc: Can Guo Cc: Bean Huo Cc: Bart Van Assche Cc: Asutosh Das Link: https://lore.kernel.org/linux-scsi/20210701005117.3846179-1-jaegeuk@kernel.org/T/#u Fixes: 7613068f95fb ("BACKPORT: FROMGIT: scsi: ufs: Optimize host lock on transfer requests send/compl paths") Reviewed-by: Bart Van Assche Signed-off-by: Jaegeuk Kim Signed-off-by: Jaegeuk Kim Change-Id: I0e5f9ec11fa62a074bca5feb5638e8d04cf858ee --- drivers/scsi/ufs/ufshcd.h | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h index 8714b62682a0..6056ea2ccfb6 100644 --- a/drivers/scsi/ufs/ufshcd.h +++ b/drivers/scsi/ufs/ufshcd.h @@ -1235,8 +1235,13 @@ static inline int ufshcd_vops_pwr_change_notify(struct ufs_hba *hba, static inline void ufshcd_vops_setup_xfer_req(struct ufs_hba *hba, int tag, bool is_scsi_cmd) { - if (hba->vops && hba->vops->setup_xfer_req) - return hba->vops->setup_xfer_req(hba, tag, is_scsi_cmd); + if (hba->vops && hba->vops->setup_xfer_req) { + unsigned long flags; + + spin_lock_irqsave(hba->host->host_lock, flags); + hba->vops->setup_xfer_req(hba, tag, is_scsi_cmd); + spin_unlock_irqrestore(hba->host->host_lock, flags); + } } static inline void ufshcd_vops_setup_task_mgmt(struct ufs_hba *hba,