diff options
author | Johan Hovold <johan@hovoldconsulting.com> | 2016-01-07 12:28:29 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@google.com> | 2016-01-11 19:16:12 -0800 |
commit | e0d91ff127cf68e6369cfccd51af18b07bf462e3 (patch) | |
tree | 83ba1490f4c8be24322c315734e069afad2c2454 /drivers/staging/greybus/power_supply.c | |
parent | greybus: arche-platform: Add wake/detect support along with handshaking with AP (diff) | |
download | linux-dev-e0d91ff127cf68e6369cfccd51af18b07bf462e3.tar.xz linux-dev-e0d91ff127cf68e6369cfccd51af18b07bf462e3.zip |
greybus: power_supply: fix lock imbalance in init error path
Make sure to release the supplies_lock before returning on errors in
gb_power_supplies_setup().
Signed-off-by: Johan Hovold <johan@hovoldconsulting.com>
Reviewed-by: Rui Miguel Silva <rui.silva@linaro.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@google.com>
Diffstat (limited to 'drivers/staging/greybus/power_supply.c')
-rw-r--r-- | drivers/staging/greybus/power_supply.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c index 4a7381650bb7..1f3884bccf97 100644 --- a/drivers/staging/greybus/power_supply.c +++ b/drivers/staging/greybus/power_supply.c @@ -644,8 +644,10 @@ static int gb_power_supplies_setup(struct gb_power_supplies *supplies) sizeof(struct gb_power_supply), GFP_KERNEL); - if (!supplies->supply) - return -ENOMEM; + if (!supplies->supply) { + ret = -ENOMEM; + goto out; + } for (i = 0; i < supplies->supplies_count; i++) { ret = gb_power_supply_config(supplies, i); |