aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/leds/leds-gpio.c
diff options
context:
space:
mode:
authorJacek Anaszewski <j.anaszewski@samsung.com>2015-04-16 03:30:50 -0400
committerBryan Wu <cooloney@gmail.com>2015-05-04 14:05:55 -0400
commit0e14e0bfe85dd22ba19446bdfdc2cf0e941b9731 (patch)
tree4c90be2e36cd4fd4874cc6e9e6f867028547720b /drivers/leds/leds-gpio.c
parent65c6b7e3ab70effc150dacc9c2fbd6581925dd53 (diff)
leds: gpio: Fix error handling for led name null pointer case
Make sure that already registered LEDs will be torn down properly if the name of the next LED to create is unavailable. Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com> Cc: Richard Purdie <rpurdie@rpsys.net> Signed-off-by: Bryan Wu <cooloney@gmail.com>
Diffstat (limited to 'drivers/leds/leds-gpio.c')
-rw-r--r--drivers/leds/leds-gpio.c6
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c
index 25df4a240972..c3db74a1aba7 100644
--- a/drivers/leds/leds-gpio.c
+++ b/drivers/leds/leds-gpio.c
@@ -198,8 +198,10 @@ static struct gpio_leds_priv *gpio_leds_create(struct platform_device *pdev)
198 } else { 198 } else {
199 if (IS_ENABLED(CONFIG_OF) && !led.name && np) 199 if (IS_ENABLED(CONFIG_OF) && !led.name && np)
200 led.name = np->name; 200 led.name = np->name;
201 if (!led.name) 201 if (!led.name) {
202 return ERR_PTR(-EINVAL); 202 ret = -EINVAL;
203 goto err;
204 }
203 } 205 }
204 fwnode_property_read_string(child, "linux,default-trigger", 206 fwnode_property_read_string(child, "linux,default-trigger",
205 &led.default_trigger); 207 &led.default_trigger);