summaryrefslogtreecommitdiff
path: root/drivers/staging/greybus/power_supply.c
diff options
context:
space:
mode:
authorRui Miguel Silva <rui.silva@linaro.org>2016-01-08 13:53:44 +0000
committerGreg Kroah-Hartman <gregkh@google.com>2016-01-11 19:18:14 -0800
commit23f25ba6edd4121eb70baf3df12f5592bee8a1e9 (patch)
tree7f7b3418d39ab3b11af4b7d523817126f5281145 /drivers/staging/greybus/power_supply.c
parentff85f723ca362986dc984217433cbdd133fc03d6 (diff)
greybus: power_supply: free supplies at release
After freeing each individual power_supply, free the top controller, if not it will leak memory at each module insert/remove. Signed-off-by: Rui Miguel Silva <rui.silva@linaro.org> Reported-by: Johan Hovold <johan@hovoldconsulting.com> Reviewed-by: Johan Hovold <johan@hovoldconsulting.com> 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.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/staging/greybus/power_supply.c b/drivers/staging/greybus/power_supply.c
index 764d2f640164..7d1848b99d9b 100644
--- a/drivers/staging/greybus/power_supply.c
+++ b/drivers/staging/greybus/power_supply.c
@@ -579,6 +579,7 @@ static void _gb_power_supplies_release(struct gb_power_supplies *supplies)
for (i = 0; i < supplies->supplies_count; i++)
_gb_power_supply_release(&supplies->supply[i]);
mutex_unlock(&supplies->supplies_lock);
+ kfree(supplies);
}
static int gb_power_supplies_get_count(struct gb_power_supplies *supplies)