From: Tang Bin Date: Tue, 24 May 2022 12:31:51 +0000 (+0800) Subject: opp: Fix error check in dev_pm_opp_attach_genpd() X-Git-Tag: v5.18.18~271 X-Git-Url: http://git.ipfire.org/cgi-bin/gitweb.cgi?a=commitdiff_plain;h=daed0e9af306c9eb9388a968acd6aa93414fbd72;p=thirdparty%2Fkernel%2Fstable.git 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 [ Viresh: Replace ENODATA with ENODEV ] Signed-off-by: Viresh Kumar Signed-off-by: Sasha Levin --- diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 7404072522982..e154b18ec4b1c 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -2413,8 +2413,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; }