linux-3.8: backport a leds-gpio.c crash fix (fixes #13721)
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 36968
This commit is contained in:
parent
bfab82392a
commit
2a5e1910d5
1 changed files with 25 additions and 0 deletions
|
@ -0,0 +1,25 @@
|
|||
--- a/drivers/leds/leds-gpio.c
|
||||
+++ b/drivers/leds/leds-gpio.c
|
||||
@@ -107,6 +107,10 @@ static int create_gpio_led(const struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
+ ret = devm_gpio_request(parent, template->gpio, template->name);
|
||||
+ if (ret < 0)
|
||||
+ return ret;
|
||||
+
|
||||
led_dat->cdev.name = template->name;
|
||||
led_dat->cdev.default_trigger = template->default_trigger;
|
||||
led_dat->gpio = template->gpio;
|
||||
@@ -126,10 +130,7 @@ static int create_gpio_led(const struct
|
||||
if (!template->retain_state_suspended)
|
||||
led_dat->cdev.flags |= LED_CORE_SUSPENDRESUME;
|
||||
|
||||
- ret = devm_gpio_request_one(parent, template->gpio,
|
||||
- (led_dat->active_low ^ state) ?
|
||||
- GPIOF_OUT_INIT_HIGH : GPIOF_OUT_INIT_LOW,
|
||||
- template->name);
|
||||
+ ret = gpio_direction_output(led_dat->gpio, led_dat->active_low ^ state);
|
||||
if (ret < 0)
|
||||
return ret;
|
||||
|
Loading…
Reference in a new issue