summaryrefslogtreecommitdiff
path: root/drivers
diff options
context:
space:
mode:
authorTang Bin <tangbin@cmss.chinamobile.com>2022-05-24 15:31:51 +0300
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2022-08-21 16:16:04 +0300
commite2a4e46f52584e43cd0d9866752b51f588cc1173 (patch)
treef426aea351e04bbeb760705caba177a2e36b6b26 /drivers
parent3b973703229a1bc1b1f5174609bc6be73b80d2ae (diff)
downloadlinux-e2a4e46f52584e43cd0d9866752b51f588cc1173.tar.xz
opp: Fix error check in dev_pm_opp_attach_genpd()
[ Upstream commit 4ea9496cbc959eb5c78f3e379199aca9ef4e386b ] dev_pm_domain_attach_by_name() may return NULL in some cases, so IS_ERR() doesn't meet the requirements. Thus fix it. Fixes: 6319aee10e53 ("opp: Attach genpds to devices from within OPP core") Signed-off-by: Tang Bin <tangbin@cmss.chinamobile.com> [ Viresh: Replace ENODATA with ENODEV ] Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/opp/core.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/opp/core.c b/drivers/opp/core.c
index 903b465c8568..7ed605ffb717 100644
--- a/drivers/opp/core.c
+++ b/drivers/opp/core.c
@@ -2052,8 +2052,8 @@ struct opp_table *dev_pm_opp_attach_genpd(struct device *dev,
}
virt_dev = dev_pm_domain_attach_by_name(dev, *name);
- if (IS_ERR(virt_dev)) {
- ret = PTR_ERR(virt_dev);
+ if (IS_ERR_OR_NULL(virt_dev)) {
+ ret = PTR_ERR(virt_dev) ? : -ENODEV;
dev_err(dev, "Couldn't attach to pm_domain: %d\n", ret);
goto err;
}