remoteproc: qcom: q6v5-mss: add SCM probe dependency
authorBrian Norris <briannorris@chromium.org>
Tue, 9 Oct 2018 02:08:05 +0000 (19:08 -0700)
committerBjorn Andersson <bjorn.andersson@linaro.org>
Tue, 9 Oct 2018 06:17:25 +0000 (23:17 -0700)
The memory ownership transfer request is performed using SCM, ensure
that SCM is available before we probe the driver if memory protection is
needed by the subsystem.

Fixes: 6c5a9dc2481b ("remoteproc: qcom: Make secure world call for mem ownership switch")
Cc: stable@vger.kernel.org
Signed-off-by: Brian Norris <briannorris@chromium.org>
[bjorn: Added condition for need_mem_protection, updated commit message]
Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
drivers/remoteproc/qcom_q6v5_mss.c

index 3448f1d..4c47f5e 100644 (file)
@@ -1152,6 +1152,9 @@ static int q6v5_probe(struct platform_device *pdev)
        if (!desc)
                return -EINVAL;
 
+       if (desc->need_mem_protection && !qcom_scm_is_available())
+               return -EPROBE_DEFER;
+
        rproc = rproc_alloc(&pdev->dev, pdev->name, &q6v5_ops,
                            desc->hexagon_mba_image, sizeof(*qproc));
        if (!rproc) {