]> git.ipfire.org Git - thirdparty/kernel/stable-queue.git/blob - releases/3.19.7/power_supply-lp8788-charger-fix-leaked-power-supply-on-probe-fail.patch
4.9-stable patches
[thirdparty/kernel/stable-queue.git] / releases / 3.19.7 / power_supply-lp8788-charger-fix-leaked-power-supply-on-probe-fail.patch
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
5
6 From: Krzysztof Kozlowski <k.kozlowski@samsung.com>
7
8 commit a7117f81e8391e035c49b3440792f7e6cea28173 upstream.
9
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.
13
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>
18
19 ---
20 drivers/power/lp8788-charger.c | 4 +++-
21 1 file changed, 3 insertions(+), 1 deletion(-)
22
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;
28
29 - if (power_supply_register(&pdev->dev, &pchg->battery))
30 + if (power_supply_register(&pdev->dev, &pchg->battery)) {
31 + power_supply_unregister(&pchg->charger);
32 return -EPERM;
33 + }
34
35 return 0;
36 }