Messages in this thread | | | Date | Wed, 17 Dec 2014 09:58:17 +0530 | Subject | Re: [PATCH 2/4] PM / OPP: fix warning in of_free_opp_table | From | Viresh Kumar <> |
| |
On 17 December 2014 at 04:39, Dmitry Torokhov <dtor@chromium.org> wrote: > Not having OPP defined for a device is not a crime, we should not splat > warning in this case. Also, it seems that we are ready to accept invalid > dev (find_device_opp will return ERR_PTR(-EINVAL) then) so let's not > crash in dev_name() in such case. > > Signed-off-by: Dmitry Torokhov <dtor@chromium.org> > --- > drivers/base/power/opp.c | 10 ++++++++-- > 1 file changed, 8 insertions(+), 2 deletions(-) > > diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c > index b78c14d..413c7fe 100644 > --- a/drivers/base/power/opp.c > +++ b/drivers/base/power/opp.c > @@ -799,9 +799,15 @@ void of_free_opp_table(struct device *dev) > > /* Check for existing list for 'dev' */ > dev_opp = find_device_opp(dev); > - if (WARN(IS_ERR(dev_opp), "%s: dev_opp: %ld\n", dev_name(dev), > - PTR_ERR(dev_opp))) > + if (IS_ERR(dev_opp)) { > + int error = PTR_ERR(dev_opp); > + if (error != -ENODEV) > + WARN(1, "%s: dev_opp: %ld\n", > + IS_ERR_OR_NULL(dev) ? > + "Invalid device" : dev_name(dev), > + error); > return;
What about this:
if (IS_ERR(dev_opp)) { int error = PTR_ERR(dev_opp); WARN(error != -ENODEV, "%s: dev_opp: %ld\n", IS_ERR_OR_NULL(dev) ? "Invalid device" : dev_name(dev), error); return; }
We can get rid of the extra indentation level and an extra comparison check.
Otherwise:
Acked-by: Viresh Kumar <viresh.kumar@linaro.org>
| |