mirror of
https://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
synced 2026-05-09 16:07:17 -04:00
greybus: power_supply: fix error path at supplies setup
If something goes wrong at setup time for the supplies, we need to release all the resources allocated already. Call the supplies release function which will handle the correct teardown of the supplies. 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>
This commit is contained in:
committed by
Greg Kroah-Hartman
parent
23f25ba6ed
commit
d9eafd58e3
@@ -731,6 +731,7 @@ static int gb_power_supply_event_recv(u8 type, struct gb_operation *op)
|
||||
static int gb_power_supply_connection_init(struct gb_connection *connection)
|
||||
{
|
||||
struct gb_power_supplies *supplies;
|
||||
int ret;
|
||||
|
||||
supplies = kzalloc(sizeof(*supplies), GFP_KERNEL);
|
||||
if (!supplies)
|
||||
@@ -741,7 +742,11 @@ static int gb_power_supply_connection_init(struct gb_connection *connection)
|
||||
|
||||
mutex_init(&supplies->supplies_lock);
|
||||
|
||||
return gb_power_supplies_setup(supplies);
|
||||
ret = gb_power_supplies_setup(supplies);
|
||||
if (ret < 0)
|
||||
_gb_power_supplies_release(supplies);
|
||||
|
||||
return ret;
|
||||
}
|
||||
|
||||
static void gb_power_supply_connection_exit(struct gb_connection *connection)
|
||||
|
||||
Reference in New Issue
Block a user