PM / OPP: Free resources and properly return error on failure
authorViresh Kumar <viresh.kumar@linaro.org>
Wed, 12 Aug 2015 11:00:18 +0000 (16:30 +0530)
committerRafael J. Wysocki <rafael.j.wysocki@intel.com>
Fri, 28 Aug 2015 02:33:06 +0000 (04:33 +0200)
commit1f821ed7afaa7ed689322ee2369f270e374a6350
tree0d85ebcccb69a8ca2bb095b50f644502973782db
parent21c36d35711d24a7689b7fb9606ce78f3b4c3d3b
PM / OPP: Free resources and properly return error on failure

_of_init_opp_table_v2() isn't freeing up resources on some errors and
the error values returned are also not correct always.

This fixes following problems:
- Return -ENOENT, if no entries are found in the table.
- Use IS_ERR() to properly check return value of _find_device_opp().
- Return error value with PTR_ERR() in above case.
- Free table if _find_device_opp() fails.

Reported-by: Dan Carpenter <dan.carpenter@oracle.com>
Signed-off-by: Viresh Kumar <viresh.kumar@linaro.org>
Signed-off-by: Rafael J. Wysocki <rafael.j.wysocki@intel.com>
drivers/base/power/opp.c