Re: [PATCH] scsi: ufs: add missing host_lock in setup_xfer_req

From: Bart Van Assche
Date: Thu Jul 01 2021 - 11:23:20 EST


On 6/30/21 5:51 PM, Jaegeuk Kim wrote:
> diff --git a/drivers/scsi/ufs/ufshcd.h b/drivers/scsi/ufs/ufshcd.h
> index c98d540ac044..194755c9ddfe 100644
> --- a/drivers/scsi/ufs/ufshcd.h
> +++ b/drivers/scsi/ufs/ufshcd.h
> @@ -1229,8 +1229,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);
> + }
> }

Since this function has only one caller, how about moving it into ufshcd.c?

Thanks,

Bart.