Commit 599d41fb authored by Stephan Gerhold's avatar Stephan Gerhold Committed by Bjorn Andersson

soc: qcom: apr: Make qcom,protection-domain optional again

APR should not fail if the service device tree node does not have
the qcom,protection-domain property, since this functionality does
not exist on older platforms such as MSM8916 and MSM8996.

Ignore -EINVAL (returned when the property does not exist) to fix
a regression on 6.2-rc1 that prevents audio from working:

  qcom,apr remoteproc0:smd-edge.apr_audio_svc.-1.-1:
    Failed to read second value of qcom,protection-domain
  qcom,apr remoteproc0:smd-edge.apr_audio_svc.-1.-1:
    Failed to add apr 3 svc

Fixes: 6d7860f5 ("soc: qcom: apr: Add check for idr_alloc and of_property_read_string_index")
Signed-off-by: default avatarStephan Gerhold <stephan@gerhold.net>
Reviewed-by: default avatarBjorn Andersson <andersson@kernel.org>
Signed-off-by: default avatarBjorn Andersson <andersson@kernel.org>
Link: https://lore.kernel.org/r/20221229151648.19839-3-stephan@gerhold.net
parent 26658868
...@@ -461,9 +461,10 @@ static int apr_add_device(struct device *dev, struct device_node *np, ...@@ -461,9 +461,10 @@ static int apr_add_device(struct device *dev, struct device_node *np,
goto out; goto out;
} }
/* Protection domain is optional, it does not exist on older platforms */
ret = of_property_read_string_index(np, "qcom,protection-domain", ret = of_property_read_string_index(np, "qcom,protection-domain",
1, &adev->service_path); 1, &adev->service_path);
if (ret < 0) { if (ret < 0 && ret != -EINVAL) {
dev_err(dev, "Failed to read second value of qcom,protection-domain\n"); dev_err(dev, "Failed to read second value of qcom,protection-domain\n");
goto out; goto out;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment