Re: [PATCH 2/4] PM / OPP: fix warning in of_free_opp_table

From: Viresh Kumar
Date: Tue Dec 16 2014 - 23:28:22 EST


On 17 December 2014 at 04:39, Dmitry Torokhov <dtor@xxxxxxxxxxxx> 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@xxxxxxxxxxxx>
> ---
> 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@xxxxxxxxxx>
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/