Browse Source

leds: triggers: Return from led_trigger_set() if there is nothing to do

If led_trigger_set() is called with "trig" argument set to NULL, and there
is no trigger to remove then the function should return immediately so
as to avoid doing unnecessary allocation and sending uevent.

Signed-off-by: Jacek Anaszewski <j.anaszewski@samsung.com>
Reported-by: Daniel Romell <daro@hms.se>
Acked-by Daniel Romell <daro@hms.se>
Jacek Anaszewski 9 years ago
parent
commit
fbfa197afd
1 changed files with 3 additions and 0 deletions
  1. 3 0
      drivers/leds/led-triggers.c

+ 3 - 0
drivers/leds/led-triggers.c

@@ -110,6 +110,9 @@ void led_trigger_set(struct led_classdev *led_cdev, struct led_trigger *trig)
 	char *envp[2];
 	char *envp[2];
 	const char *name;
 	const char *name;
 
 
+	if (!led_cdev->trigger && !trig)
+		return;
+
 	name = trig ? trig->name : "none";
 	name = trig ? trig->name : "none";
 	event = kasprintf(GFP_KERNEL, "TRIGGER=%s", name);
 	event = kasprintf(GFP_KERNEL, "TRIGGER=%s", name);