summaryrefslogtreecommitdiffstats
path: root/include/ufs
diff options
context:
space:
mode:
authorKyoungrul Kim <k831.kim@samsung.com>2024-07-10 01:25:20 +0200
committerMartin K. Petersen <martin.petersen@oracle.com>2024-07-16 04:51:06 +0200
commit0c60eb0cc320fffbb8b10329d276af14f6f5e6bf (patch)
treebb647d7485ba08f62a1d4225ac0cb80c0cd56918 /include/ufs
parentscsi: aha152x: Use DECLARE_COMPLETION_ONSTACK for non-constant completion (diff)
downloadlinux-0c60eb0cc320fffbb8b10329d276af14f6f5e6bf.tar.xz
linux-0c60eb0cc320fffbb8b10329d276af14f6f5e6bf.zip
scsi: ufs: core: Check LSDBS cap when !mcq
If the user sets use_mcq_mode to 0, the host will try to activate the LSDB mode unconditionally even when the LSDBS of device HCI cap is 1. This makes commands time out and causes device probing to fail. To prevent that problem, check the LSDBS cap when MCQ is not supported. Signed-off-by: Kyoungrul Kim <k831.kim@samsung.com> Link: https://lore.kernel.org/r/20240709232520epcms2p8ebdb5c4fccc30a6221390566589bf122@epcms2p8 Reviewed-by: Bart Van Assche <bvanassche@acm.org> Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
Diffstat (limited to 'include/ufs')
-rw-r--r--include/ufs/ufshcd.h1
-rw-r--r--include/ufs/ufshci.h1
2 files changed, 2 insertions, 0 deletions
diff --git a/include/ufs/ufshcd.h b/include/ufs/ufshcd.h
index a43b14276bc3..cac0cdb9a916 100644
--- a/include/ufs/ufshcd.h
+++ b/include/ufs/ufshcd.h
@@ -1109,6 +1109,7 @@ struct ufs_hba {
bool ext_iid_sup;
bool scsi_host_added;
bool mcq_sup;
+ bool lsdb_sup;
bool mcq_enabled;
struct ufshcd_res_info res[RES_MAX];
void __iomem *mcq_base;
diff --git a/include/ufs/ufshci.h b/include/ufs/ufshci.h
index 38fe97971a65..9917c7743d80 100644
--- a/include/ufs/ufshci.h
+++ b/include/ufs/ufshci.h
@@ -77,6 +77,7 @@ enum {
MASK_OUT_OF_ORDER_DATA_DELIVERY_SUPPORT = 0x02000000,
MASK_UIC_DME_TEST_MODE_SUPPORT = 0x04000000,
MASK_CRYPTO_SUPPORT = 0x10000000,
+ MASK_LSDB_SUPPORT = 0x20000000,
MASK_MCQ_SUPPORT = 0x40000000,
};