summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rwxr-xr-xcore/rootfs/rootfs-stage31/data/sbin/hotplug11
1 files changed, 11 insertions, 0 deletions
diff --git a/core/rootfs/rootfs-stage31/data/sbin/hotplug b/core/rootfs/rootfs-stage31/data/sbin/hotplug
index f2bda19b..260b7782 100755
--- a/core/rootfs/rootfs-stage31/data/sbin/hotplug
+++ b/core/rootfs/rootfs-stage31/data/sbin/hotplug
@@ -1,5 +1,16 @@
#!/bin/ash
+if [ -n "$FIRMWARE" ] && [ "$SUBSYSTEM" = "firmware" ] && [ -n "$DEVPATH" ] && [ -e "/sys/$DEVPATH/data" ]; then
+ echo "Kernel requests firmware $FIRMWARE" > "/dev/kmsg"
+ printf "1" > "/sys/$DEVPATH/loading"
+ if cat "/lib/firmware/$FIRMWARE" > "/sys/$DEVPATH/data" \
+ || cat "/lib/firmware/$(uname -r)/$FIRMWARE" > "/sys/$DEVPATH/data"; then
+ printf "0" > "/sys/$DEVPATH/loading"
+ else
+ printf "%s" "-1" "/sys/$DEVPATH/loading"
+ fi
+fi
+
[ "$ACTION" != "add" ] && exit 0
[ -z "$MODALIAS" ] && exit 0