diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-06-18 22:23:38 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-06-18 22:23:38 +0000 |
commit | 2a5e1910d5f769fefb2047d480c9c774954ae27c (patch) | |
tree | c32995660078c58ccafa9454db8fad5565eba0fb /target | |
parent | bfab82392ab267d46de9bee914345c1a1008a6fc (diff) | |
download | upstream-2a5e1910d5f769fefb2047d480c9c774954ae27c.tar.gz upstream-2a5e1910d5f769fefb2047d480c9c774954ae27c.tar.bz2 upstream-2a5e1910d5f769fefb2047d480c9c774954ae27c.zip |
linux-3.8: backport a leds-gpio.c crash fix (fixes #13721)
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 36968
Diffstat (limited to 'target')
-rw-r--r-- | target/linux/generic/patches-3.8/040-backport_led_gpio_request_fix.patch | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/target/linux/generic/patches-3.8/040-backport_led_gpio_request_fix.patch b/target/linux/generic/patches-3.8/040-backport_led_gpio_request_fix.patch new file mode 100644 index 0000000000..b00d813840 --- /dev/null +++ b/target/linux/generic/patches-3.8/040-backport_led_gpio_request_fix.patch @@ -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; + |