diff options
| author | Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org> | 2023-07-21 18:16:34 +0530 |
|---|---|---|
| committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2023-09-23 10:59:40 +0200 |
| commit | 3eb241e47d05694edd17eb26eee5110f3a8a1e17 (patch) | |
| tree | 6439b0991ff2e13a2755a71799068e2cc972fcd2 /drivers/opp | |
| parent | 5d3975e36c64eed8168007a5b3d0c4700706307f (diff) | |
| download | linux-3eb241e47d05694edd17eb26eee5110f3a8a1e17.tar.gz linux-3eb241e47d05694edd17eb26eee5110f3a8a1e17.tar.bz2 linux-3eb241e47d05694edd17eb26eee5110f3a8a1e17.zip | |
OPP: Fix passing 0 to PTR_ERR in _opp_attach_genpd()
[ Upstream commit d920920f85a82c1c806a4143871a0e8f534732f2 ]
If dev_pm_domain_attach_by_name() returns NULL, then 0 will be passed to
PTR_ERR() as reported by the smatch warning below:
drivers/opp/core.c:2456 _opp_attach_genpd() warn: passing zero to 'PTR_ERR'
Fix it by checking for the non-NULL virt_dev pointer before passing it to
PTR_ERR. Otherwise return -ENODEV.
Fixes: 4ea9496cbc95 ("opp: Fix error check in dev_pm_opp_attach_genpd()")
Signed-off-by: Manivannan Sadhasivam <manivannan.sadhasivam@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Sasha Levin <sashal@kernel.org>
Diffstat (limited to 'drivers/opp')
| -rw-r--r-- | drivers/opp/core.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/opp/core.c b/drivers/opp/core.c index 08f5d1c3d665..e1810c4011b2 100644 --- a/drivers/opp/core.c +++ b/drivers/opp/core.c @@ -1882,7 +1882,7 @@ struct opp_table *dev_pm_opp_attach_genpd(struct device *dev, virt_dev = dev_pm_domain_attach_by_name(dev, *name); if (IS_ERR_OR_NULL(virt_dev)) { - ret = PTR_ERR(virt_dev) ? : -ENODEV; + ret = virt_dev ? PTR_ERR(virt_dev) : -ENODEV; dev_err(dev, "Couldn't attach to pm_domain: %d\n", ret); goto err; } |
