diff options
author | Jacek Anaszewski <j.anaszewski@samsung.com> | 2015-04-16 00:30:50 -0700 |
---|---|---|
committer | Bryan Wu <cooloney@gmail.com> | 2015-05-04 11:05:55 -0700 |
commit | 0e14e0bfe85dd22ba19446bdfdc2cf0e941b9731 (patch) | |
tree | 4c90be2e36cd4fd4874cc6e9e6f867028547720b | |
parent | 65c6b7e3ab70effc150dacc9c2fbd6581925dd53 (diff) | |
download | op-kernel-dev-0e14e0bfe85dd22ba19446bdfdc2cf0e941b9731.zip op-kernel-dev-0e14e0bfe85dd22ba19446bdfdc2cf0e941b9731.tar.gz |
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>
-rw-r--r-- | drivers/leds/leds-gpio.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/leds/leds-gpio.c b/drivers/leds/leds-gpio.c index 25df4a2..c3db74a 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) } else { if (IS_ENABLED(CONFIG_OF) && !led.name && np) led.name = np->name; - if (!led.name) - return ERR_PTR(-EINVAL); + if (!led.name) { + ret = -EINVAL; + goto err; + } } fwnode_property_read_string(child, "linux,default-trigger", &led.default_trigger); |