diff options
author | Sibi Sankar <sibis@codeaurora.org> | 2019-08-21 20:05:48 +0200 |
---|---|---|
committer | Bjorn Andersson <bjorn.andersson@linaro.org> | 2019-08-26 23:52:01 +0200 |
commit | f2583fde2719362039a6efb3b4094f46284df541 (patch) | |
tree | a029fcf7b5d1955809ddc877db37ef795f5eb0ef /drivers/remoteproc/qcom_q6v5_mss.c | |
parent | remoteproc: Add a sysfs interface for name (diff) | |
download | linux-f2583fde2719362039a6efb3b4094f46284df541.tar.xz linux-f2583fde2719362039a6efb3b4094f46284df541.zip |
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/qcom_q6v5_mss.c')
-rw-r--r-- | drivers/remoteproc/qcom_q6v5_mss.c | 4 |
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; } } |