diff options
author | Krzysztof Kozlowski <k.kozlowski@samsung.com> | 2015-02-20 14:32:25 +0100 |
---|---|---|
committer | Sebastian Reichel <sre@kernel.org> | 2015-02-25 22:18:18 +0100 |
commit | a7117f81e8391e035c49b3440792f7e6cea28173 (patch) | |
tree | 60fd67b0bfd0e16eb964044618c62da79f9466d1 /drivers/power | |
parent | a2c1d531854c4319610f1d83351213b47a633969 (diff) | |
download | op-kernel-dev-a7117f81e8391e035c49b3440792f7e6cea28173.zip op-kernel-dev-a7117f81e8391e035c49b3440792f7e6cea28173.tar.gz |
power_supply: lp8788-charger: Fix leaked power supply on probe fail
Driver forgot to unregister charger power supply if registering of
battery supply failed in probe(). In such case the memory associated
with power supply leaked.
Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
Fixes: 98a276649358 ("power_supply: Add new lp8788 charger driver")
Cc: <stable@vger.kernel.org>
Signed-off-by: Sebastian Reichel <sre@kernel.org>
Diffstat (limited to 'drivers/power')
-rw-r--r-- | drivers/power/lp8788-charger.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/power/lp8788-charger.c b/drivers/power/lp8788-charger.c index 21fc233..176dab2 100644 --- a/drivers/power/lp8788-charger.c +++ b/drivers/power/lp8788-charger.c @@ -417,8 +417,10 @@ static int lp8788_psy_register(struct platform_device *pdev, pchg->battery.num_properties = ARRAY_SIZE(lp8788_battery_prop); pchg->battery.get_property = lp8788_battery_get_property; - if (power_supply_register(&pdev->dev, &pchg->battery)) + if (power_supply_register(&pdev->dev, &pchg->battery)) { + power_supply_unregister(&pchg->charger); return -EPERM; + } return 0; } |