From: Eric Biggers <ebigg...@google.com>

If exynos_ufs_fmp_init() did not enable FMP support, then
exynos_ufs_fmp_resume() should not execute the FMP-related SMC calls.

Fixes: c96499fcb403 ("scsi: ufs: exynos: Add support for Flash Memory Protector 
(FMP)")
Signed-off-by: Eric Biggers <ebigg...@google.com>
---
 drivers/ufs/host/ufs-exynos.c | 3 +++
 1 file changed, 3 insertions(+)

diff --git a/drivers/ufs/host/ufs-exynos.c b/drivers/ufs/host/ufs-exynos.c
index 16ad3528d80b..9ec318ef52bf 100644
--- a/drivers/ufs/host/ufs-exynos.c
+++ b/drivers/ufs/host/ufs-exynos.c
@@ -1291,10 +1291,13 @@ static void exynos_ufs_fmp_init(struct ufs_hba *hba, 
struct exynos_ufs *ufs)
 
 static void exynos_ufs_fmp_resume(struct ufs_hba *hba)
 {
        struct arm_smccc_res res;
 
+       if (!(hba->caps & UFSHCD_CAP_CRYPTO))
+               return;
+
        arm_smccc_smc(SMC_CMD_FMP_SECURITY, 0, SMU_EMBEDDED, CFG_DESCTYPE_3,
                      0, 0, 0, 0, &res);
        if (res.a0)
                dev_err(hba->dev,
                        "SMC_CMD_FMP_SECURITY failed on resume: %ld\n", res.a0);

base-commit: 2c9b3512402ed192d1f43f4531fb5da947e72bd0
-- 
2.45.2


Reply via email to