summaryrefslogtreecommitdiff
path: root/dracut-functions
diff options
context:
space:
mode:
authorVictor Lowther <victor.lowther@gmail.com>2009-05-28 21:13:16 -0500
committerVictor Lowther <victor.lowther@gmail.com>2009-05-28 21:13:16 -0500
commitc93d9f62652f9aef21550898bd53890cad5e9732 (patch)
tree671f2d4f77ab34a588f0e62844df1f34e9f9d02a /dracut-functions
parent06558b3ee484f20d8529cadf190241614f811a57 (diff)
Fix firmware installation.
Instead of calling firmware checking once per instmods invocation, call only when we install an actual module on the initramfs.
Diffstat (limited to 'dracut-functions')
-rwxr-xr-xdracut-functions20
1 files changed, 10 insertions, 10 deletions
diff --git a/dracut-functions b/dracut-functions
index 1e3f891..3ef664e 100755
--- a/dracut-functions
+++ b/dracut-functions
@@ -261,8 +261,8 @@ instmods() {
case $mod in
=*) # This introduces 2 incompatible meanings for =* arguments
# to instmods. We need to decide which one to keep.
- if [ "$mod" = "=ata" -a -f $srcmods/modules.block ] ; then
- instmods $mpargs $(egrep 'ata|ahci' "${srcmods}/modules.block")
+ if [ "$mod" = "=ata" -a -f $srcmods/modules.block ] ; then
+ instmods $mpargs $(egrep 'ata|ahci' "${srcmods}/modules.block")
elif [ -f $srcmods/modules.${mod#=} ]; then
instmods $mpargs $(cat ${srcmods}/modules.${mod#=} )
else
@@ -283,18 +283,18 @@ instmods() {
continue
fi
inst_simple "$modpath"
+ for fw in $(/sbin/modinfo -F firmware $mod 2>/dev/null); do
+ if [ -f /lib/firmware/$fw ]; then
+ inst_simple "/lib/firmware/$fw"
+ else
+ dwarning "Possible missing firmware /lib/firmware/${fw} for module ${mod}.ko"
+ fi
+ done
done
;;
- esac
+ esac
shift
done
- for fw in $(/sbin/modinfo -F firmware $mod 2>/dev/null); do
- if [ -f /lib/firmware/$fw ]; then
- inst_simple "/lib/firmware/$fw"
- else
- dwarning "Possible missing firmware /lib/firmware/${fw} for module $(basename ${mod} .ko)"
- fi
- done
}
# vim:ts=8:sw=4:sts=4:et