diff options
| -rw-r--r-- | drivers/ufs/core/ufshcd-priv.h | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/ufs/core/ufshcd-priv.h b/drivers/ufs/core/ufshcd-priv.h index 2f752a45db87..676ebb02db8b 100644 --- a/drivers/ufs/core/ufshcd-priv.h +++ b/drivers/ufs/core/ufshcd-priv.h @@ -368,7 +368,12 @@ static inline bool ufs_is_valid_unit_desc_lun(struct ufs_dev_info *dev_info, u8 */ static inline struct scsi_cmnd *ufshcd_tag_to_cmd(struct ufs_hba *hba, u32 tag) { - struct blk_mq_tags *tags = hba->host->tag_set.shared_tags; + /* + * Host-wide tags are enabled in MCQ mode only. See also the + * host->host_tagset assignment in ufs-mcq.c. + */ + struct blk_mq_tags *tags = hba->host->tag_set.shared_tags ?: + hba->host->tag_set.tags[0]; struct request *rq = blk_mq_tag_to_rq(tags, tag); if (WARN_ON_ONCE(!rq)) |
