modules: fix postinst generation for kernel modules
[openwrt/openwrt.git] / package / base-files / files / lib / functions.sh
index dc3b80534b2a199a1c616fa5ba3ef686a6103847..72d954db3cb7bb6cb215df94e4b24c4c1bd10e8f 100755 (executable)
@@ -154,10 +154,13 @@ config_list_foreach() {
 }
 
 insert_modules() {
-       [ -d /etc/modules.d ] && {
-               cd /etc/modules.d
-               sed 's/^[^#]/insmod &/' $* | ash 2>&- || :
-       }
+       for m in $*; do
+               if [ -f /etc/modules.d/$m ]; then
+                       sed 's/^[^#]/insmod &/' /etc/modules.d/$m | ash 2>&- || :
+               else
+                       modprobe $m
+               fi
+       done
 }
 
 default_prerm() {