diff options
author | Dmitry Torokhov <dtor@chromium.org> | 2014-12-16 18:09:37 -0500 |
---|---|---|
committer | Rafael J. Wysocki <rafael.j.wysocki@intel.com> | 2014-12-17 19:42:49 -0500 |
commit | 0fe30da2cb43782ee62d30c00a273d6934e5370e (patch) | |
tree | 487989abe98bd00cb36a4613b4805eafa15ad344 /drivers/base | |
parent | b02ded246d011d0eb22efc178ee711b636214083 (diff) |
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.c | 10 |
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) | |||
799 | 799 | ||
800 | /* Check for existing list for 'dev' */ | 800 | /* Check for existing list for 'dev' */ |
801 | dev_opp = find_device_opp(dev); | 801 | dev_opp = find_device_opp(dev); |
802 | if (WARN(IS_ERR(dev_opp), "%s: dev_opp: %ld\n", dev_name(dev), | 802 | if (IS_ERR(dev_opp)) { |
803 | PTR_ERR(dev_opp))) | 803 | int error = PTR_ERR(dev_opp); |
804 | if (error != -ENODEV) | ||
805 | WARN(1, "%s: dev_opp: %d\n", | ||
806 | IS_ERR_OR_NULL(dev) ? | ||
807 | "Invalid device" : dev_name(dev), | ||
808 | error); | ||
804 | return; | 809 | return; |
810 | } | ||
805 | 811 | ||
806 | /* Hold our list modification lock here */ | 812 | /* Hold our list modification lock here */ |
807 | mutex_lock(&dev_opp_list_lock); | 813 | mutex_lock(&dev_opp_list_lock); |