chiark / gitweb /
libudev: allow to store negative values in the udev database
[elogind.git] / extras / firmware / firmware.sh
index 466b653..9d4659a 100755 (executable)
@@ -1,6 +1,7 @@
 #!/bin/sh -e
 
 #!/bin/sh -e
 
-FIRMWARE_DIRS="/lib/firmware/$(uname -r) /lib/firmware"
+FIRMWARE_DIRS="/lib/firmware/updates/$(uname -r) /lib/firmware/updates \
+               /lib/firmware/$(uname -r) /lib/firmware"
 
 err() {
        echo "$@" >&2
 
 err() {
        echo "$@" >&2
@@ -22,4 +23,7 @@ done
 
 echo -1 > /sys$DEVPATH/loading
 err "Cannot find  firmware file '$FIRMWARE'"
 
 echo -1 > /sys$DEVPATH/loading
 err "Cannot find  firmware file '$FIRMWARE'"
+mkdir -p /dev/.udev/firmware-missing
+file=$(echo "$FIRMWARE" | sed 's:/:\\x2f:g')
+ln -s -f "$DEVPATH" /dev/.udev/firmware-missing/$file
 exit 1
 exit 1