summaryrefslogtreecommitdiffstats
path: root/drivers/base
diff options
context:
space:
mode:
authorDmitry Torokhov <dtor@chromium.org>2014-12-17 00:09:37 +0100
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>2014-12-18 01:42:49 +0100
commit0fe30da2cb43782ee62d30c00a273d6934e5370e (patch)
tree487989abe98bd00cb36a4613b4805eafa15ad344 /drivers/base
parentPM / OPP: add some lockdep annotations (diff)
downloadlinux-0fe30da2cb43782ee62d30c00a273d6934e5370e.tar.xz
linux-0fe30da2cb43782ee62d30c00a273d6934e5370e.zip
PM / OPP: fix warning in of_free_opp_table()
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> Acked-by: Viresh Kumar <viresh.kumar@linaro.org> Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
Diffstat (limited to 'drivers/base')
-rw-r--r--drivers/base/power/opp.c10
1 files changed, 8 insertions, 2 deletions
diff --git a/drivers/base/power/opp.c b/drivers/base/power/opp.c
index b78c14d30da2..aac7abcf74f8 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: %d\n",
+ IS_ERR_OR_NULL(dev) ?
+ "Invalid device" : dev_name(dev),
+ error);
return;
+ }
/* Hold our list modification lock here */
mutex_lock(&dev_opp_list_lock);