summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorJo-Philipp Wich <jow@openwrt.org>2009-05-20 21:10:45 +0000
committerJo-Philipp Wich <jow@openwrt.org>2009-05-20 21:10:45 +0000
commite2d1632d1ebfe5dee3e5bc4940b74302d988b368 (patch)
tree0c605cbcd9885d86b4e03c96f816530dfdd333db
parentd10e83e07cb21d7fa8863d04183ae95f91be70d0 (diff)
downloadmaster-31e0f0ae-e2d1632d1ebfe5dee3e5bc4940b74302d988b368.tar.gz
master-31e0f0ae-e2d1632d1ebfe5dee3e5bc4940b74302d988b368.tar.bz2
master-31e0f0ae-e2d1632d1ebfe5dee3e5bc4940b74302d988b368.zip
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 <b_tsiligiannis@silverton.gr>
SVN-Revision: 15945
-rwxr-xr-xpackage/qos-scripts/files/usr/lib/qos/generate.sh13
1 files changed, 11 insertions, 2 deletions
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
}