[PATCH] [qos-scripts] Reload modules with parameters specified
authorjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 May 2009 21:10:45 +0000 (21:10 +0000)
committerjow <jow@3c298f89-4303-0410-b956-a3cf2f4a3e73>
Wed, 20 May 2009 21:10:45 +0000 (21:10 +0000)
This patch makes qos-scripts reload a module when there is need to pass some
parameters to it. It fixes an issue on devices with more than two interfaces where
many IMQ devices are needed but the module is already loaded with the
default numdevs=2
Signed-off-by: Vasilis Tsiligiannis <b_tsiligiannis@silverton.gr>
git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15945 3c298f89-4303-0410-b956-a3cf2f4a3e73

package/qos-scripts/files/usr/lib/qos/generate.sh

index 6c52027..94c01d4 100755 (executable)
@@ -1,12 +1,21 @@
 #!/bin/sh
 [ -e /etc/functions.sh ] && . /etc/functions.sh || . ./functions.sh
-[ -x /sbin/modprobe ] && insmod="modprobe" || insmod="insmod"
+[ -x /sbin/modprobe ] && {
+       insmod="modprobe"
+       rmmod="$insmod -r"
+} || {
+       insmod="insmod"
+       rmmod="rmmod"
+}
 
 add_insmod() {
        eval "export isset=\${insmod_$1}"
        case "$isset" in
                1) ;;
-               *) append INSMOD "$insmod $* >&- 2>&-" "$N"; export insmod_$1=1;;
+               *) {
+                       [ "$2" ] && append INSMOD "$rmmod $1 >&- 2>&-" "$N"
+                       append INSMOD "$insmod $* >&- 2>&-" "$N"; export insmod_$1=1
+               };;
        esac
 }
 
This page took 0.027402 seconds and 4 git commands to generate.