1 From a7117f81e8391e035c49b3440792f7e6cea28173 Mon Sep 17 00:00:00 2001
2 From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
3 Date: Fri, 20 Feb 2015 14:32:25 +0100
4 Subject: power_supply: lp8788-charger: Fix leaked power supply on probe fail
6 From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
8 commit a7117f81e8391e035c49b3440792f7e6cea28173 upstream.
10 Driver forgot to unregister charger power supply if registering of
11 battery supply failed in probe(). In such case the memory associated
12 with power supply leaked.
14 Signed-off-by: Krzysztof Kozlowski <k.kozlowski@samsung.com>
15 Fixes: 98a276649358 ("power_supply: Add new lp8788 charger driver")
16 Signed-off-by: Sebastian Reichel <sre@kernel.org>
17 Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
20 drivers/power/lp8788-charger.c | 4 +++-
21 1 file changed, 3 insertions(+), 1 deletion(-)
23 --- a/drivers/power/lp8788-charger.c
24 +++ b/drivers/power/lp8788-charger.c
25 @@ -417,8 +417,10 @@ static int lp8788_psy_register(struct pl
26 pchg->battery.num_properties = ARRAY_SIZE(lp8788_battery_prop);
27 pchg->battery.get_property = lp8788_battery_get_property;
29 - if (power_supply_register(&pdev->dev, &pchg->battery))
30 + if (power_supply_register(&pdev->dev, &pchg->battery)) {
31 + power_supply_unregister(&pchg->charger);