In led_trigger_remove(), check if there is a trigger configured before calling led_trigger_set(). This will prevent some unnecessary work, and more importantly stop sending uevent change events when no change has in fact occurred. Signed-off-by: Daniel Romell <daro@xxxxxx> --- drivers/leds/led-triggers.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/drivers/leds/led-triggers.c b/drivers/leds/led-triggers.c index 59d6a3e..28c7a66 100644 --- a/drivers/leds/led-triggers.c +++ b/drivers/leds/led-triggers.c @@ -147,7 +147,8 @@ EXPORT_SYMBOL_GPL(led_trigger_set); void led_trigger_remove(struct led_classdev *led_cdev) { down_write(&led_cdev->trigger_lock); - led_trigger_set(led_cdev, NULL); + if (led_cdev->trigger) + led_trigger_set(led_cdev, NULL); up_write(&led_cdev->trigger_lock); } EXPORT_SYMBOL_GPL(led_trigger_remove); -- 2.7.4 -- To unsubscribe from this list: send the line "unsubscribe linux-leds" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html