From: Sibi Sankar Date: Wed, 21 Aug 2019 18:05:48 +0000 (+0530) Subject: remoteproc: qcom: q6v5-mss: fixup q6v5_pds_enable error handling X-Git-Tag: v5.4-rc1~76^2~4 X-Git-Url: https://asedeno.scripts.mit.edu/gitweb/?a=commitdiff_plain;h=f2583fde2719362039a6efb3b4094f46284df541;p=linux.git 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 Signed-off-by: Bjorn Andersson --- 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; } }