-Index: linux-2.6.24.2/drivers/leds/leds-gpio.c
-===================================================================
---- linux-2.6.24.2.orig/drivers/leds/leds-gpio.c
-+++ linux-2.6.24.2/drivers/leds/leds-gpio.c
-@@ -41,13 +41,17 @@ static void gpio_led_set(struct led_clas
+--- a/drivers/leds/leds-gpio.c
++++ b/drivers/leds/leds-gpio.c
+@@ -41,13 +41,17 @@
container_of(led_cdev, struct gpio_led_data, cdev);
int level;
+ break;
+ }
- /* setting GPIOs with I2C/etc requires a preemptible task context */
- if (led_dat->can_sleep) {
+ /* Setting GPIOs with I2C/etc requires a task context, and we don't
+ * seem to have a reliable way to know if we're already in one; so