path: root/drivers/remoteproc
diff options
authorSibi Sankar <sibis@codeaurora.org>2019-08-21 23:35:48 +0530
committerBjorn Andersson <bjorn.andersson@linaro.org>2019-08-26 14:52:01 -0700
commitf2583fde2719362039a6efb3b4094f46284df541 (patch)
treea029fcf7b5d1955809ddc877db37ef795f5eb0ef /drivers/remoteproc
parent6ed756aa0148a5ad0dbdced6f14f22e2f5748d35 (diff)
remoteproc: qcom: q6v5-mss: fixup q6v5_pds_enable error handling
dev_pm_domain_attach_by_name will return NULL if the requested power-domain is not a part device node. This could result in NULL pointer de-reference in q6v5_pds_enable. Fix this by checking for IS_ERR_OR_NULL and forward the appropriate error code. Fixes: 4760a896be88e ("remoteproc: q6v5-mss: Vote for rpmh power domains") Signed-off-by: Sibi Sankar <sibis@codeaurora.org> Signed-off-by: Bjorn Andersson <bjorn.andersson@linaro.org>
Diffstat (limited to 'drivers/remoteproc')
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/remoteproc/qcom_q6v5_mss.c b/drivers/remoteproc/qcom_q6v5_mss.c
index 8fcf9d28dd73..de919f2e8b94 100644
--- a/drivers/remoteproc/qcom_q6v5_mss.c
+++ b/drivers/remoteproc/qcom_q6v5_mss.c
@@ -1282,8 +1282,8 @@ static int q6v5_pds_attach(struct device *dev, struct device **devs,
for (i = 0; i < num_pds; i++) {
devs[i] = dev_pm_domain_attach_by_name(dev, pd_names[i]);
- if (IS_ERR(devs[i])) {
- ret = PTR_ERR(devs[i]);
+ if (IS_ERR_OR_NULL(devs[i])) {
+ ret = PTR_ERR(devs[i]) ? : -ENODATA;
goto unroll_attach;