The scm device must be present in order for the rmtfs driver to
configure memory permissions for the rmtfs memory region, so check that
it is probed before continuing.

Cc: sta...@vger.kernel.org
Fixes: fa65f8045137 ("soc: qcom: rmtfs-mem: Add support for assigning memory to 
remote")
Signed-off-by: Bjorn Andersson <bjorn.anders...@linaro.org>
---
 drivers/soc/qcom/rmtfs_mem.c | 5 +++++
 1 file changed, 5 insertions(+)

diff --git a/drivers/soc/qcom/rmtfs_mem.c b/drivers/soc/qcom/rmtfs_mem.c
index 8a3678c2e83c..97bb5989aa21 100644
--- a/drivers/soc/qcom/rmtfs_mem.c
+++ b/drivers/soc/qcom/rmtfs_mem.c
@@ -212,6 +212,11 @@ static int qcom_rmtfs_mem_probe(struct platform_device 
*pdev)
                dev_err(&pdev->dev, "failed to parse qcom,vmid\n");
                goto remove_cdev;
        } else if (!ret) {
+               if (!qcom_scm_is_available()) {
+                       ret = -EPROBE_DEFER;
+                       goto remove_cdev;
+               }
+
                perms[0].vmid = QCOM_SCM_VMID_HLOS;
                perms[0].perm = QCOM_SCM_PERM_RW;
                perms[1].vmid = vmid;
-- 
2.18.0

Reply via email to