Browse Source

Reload modules with parameters specified 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 <[email protected]>

SVN-Revision: 15945
Jo-Philipp Wich 17 years ago
parent
commit
e2d1632d1e
1 changed files with 11 additions and 2 deletions
  1. 11 2
      package/qos-scripts/files/usr/lib/qos/generate.sh

+ 11 - 2
package/qos-scripts/files/usr/lib/qos/generate.sh

@@ -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
 }