From 0f805cdf51d623bb63fd2b7038c748ef13aac262 Mon Sep 17 00:00:00 2001 From: jow Date: Wed, 20 May 2009 21:10:45 +0000 Subject: [PATCH] [qos-scripts] 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 git-svn-id: svn://svn.openwrt.org/openwrt/trunk@15945 3c298f89-4303-0410-b956-a3cf2f4a3e73 --- package/qos-scripts/files/usr/lib/qos/generate.sh | 13 +++++++++++-- 1 file changed, 11 insertions(+), 2 deletions(-) (limited to 'package/qos-scripts/files') diff --git a/package/qos-scripts/files/usr/lib/qos/generate.sh b/package/qos-scripts/files/usr/lib/qos/generate.sh index 6c52027a6a..94c01d4619 100755 --- a/package/qos-scripts/files/usr/lib/qos/generate.sh +++ b/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 } -- cgit v1.2.3