On 06-02-17, 13:02, Rafael J. Wysocki wrote: > On Monday, February 06, 2017 03:56:28 PM Viresh Kumar wrote: > > It is possible for dev_pm_opp_find_freq_exact() to return errors. It was > > all fine earlier as dev_pm_opp_get_voltage() had a check within it to > > check for invalid OPPs, but dev_pm_opp_put() doesn't have any similar > > checks and the callers need to make sure OPP is valid before calling > > them. > > > > Also update the later dev_warn_ratelimited() to not print the error > > message as the OPP is guaranteed to be valid now. > > > > Reported-by: Dan Carpenter <dan.carpen...@oracle.com> > > Signed-off-by: Viresh Kumar <viresh.ku...@linaro.org> > > --- > > drivers/thermal/cpu_cooling.c | 11 +++++++++-- > > 1 file changed, 9 insertions(+), 2 deletions(-) > > > > diff --git a/drivers/thermal/cpu_cooling.c b/drivers/thermal/cpu_cooling.c > > index 85fdbf762fa0..9534540434e2 100644 > > --- a/drivers/thermal/cpu_cooling.c > > +++ b/drivers/thermal/cpu_cooling.c > > @@ -431,13 +431,20 @@ static int get_static_power(struct > > cpufreq_cooling_device *cpufreq_device, > > > > opp = dev_pm_opp_find_freq_exact(cpufreq_device->cpu_dev, freq_hz, > > true); > > + if (IS_ERR(opp)) { > > + dev_warn_ratelimited(cpufreq_device->cpu_dev, > > + "Failed to find OPP for frequency %lu: > > %ld\n", > > + freq_hz, PTR_ERR(opp)); > > I'm quite unconvinced about the WARN level of these messages. > > They seem to be mostly useful for the people who provide device trees for > platforms (ie. system integrators). If users see them, there is not much > they can do to fix the problem by themselves and the hardware is OK, > actually.
Sure. I just wanted to keep it consistent within the function. -- viresh