base-files: fix led script to skip missing triggers
authorblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Jan 2015 12:33:04 +0000 (12:33 +0000)
committerblogic <blogic@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Fri, 23 Jan 2015 12:33:04 +0000 (12:33 +0000)
this is based on http://patchwork.ozlabs.org/patch/424451/

Signed-off-by: John Crispin <blogic@openwrt.org>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@44087 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/base-files/files/etc/init.d/led

index d2310f0..6962bfa 100755 (executable)
@@ -40,7 +40,11 @@ load_led() {
                        [ $default -eq 1 ] ||
                                echo 0 >/sys/class/leds/${sysfs}/brightness
                }
-               echo $trigger > /sys/class/leds/${sysfs}/trigger
+               echo $trigger > /sys/class/leds/${sysfs}/trigger 2> /dev/null
+               [ $? = 0 ] || {
+                       echo >&2 "Skipping trigger '$trigger' for led '$name' due to missing kernel module"
+                       return 1
+               }
                case "$trigger" in
                "netdev")
                        [ -n "$dev" ] && {