OPP: Check for invalid OPP in dev_pm_opp_find_level_ceil()

_find_key_ceil() may return an error and that must be checked before
passing the same to dev_pm_opp_put().

Fixes: 41907aa4ae37 ("OPP: Level zero is valid")
Reported-by: Dan Carpenter <dan.carpenter@linaro.org>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
This commit is contained in:
Viresh Kumar 2023-11-28 12:31:38 +05:30
parent 925141432f
commit 19cc8b1819

View File

@ -808,6 +808,8 @@ struct dev_pm_opp *dev_pm_opp_find_level_ceil(struct device *dev,
struct dev_pm_opp *opp;
opp = _find_key_ceil(dev, &temp, 0, true, _read_level, NULL);
if (IS_ERR(opp))
return opp;
/* False match */
if (temp == OPP_LEVEL_UNSET) {