From ecfdf6ae2329c12857f848a854f78096a8b1810e Mon Sep 17 00:00:00 2001 From: Alex Gonzalez Date: Wed, 6 Mar 2013 17:38:47 +0100 Subject: [PATCH] meta-digi-arm: Avoid udev loading firmware files for atheros. This was causing module loading issues on del-image-graphical. Fixes https://jira.digi.com/browse/DEL-338 Signed-off-by: Alex Gonzalez --- .../ccardimx28js/50-firmware.rules | 4 ++++ .../ccardimx28js/firmware.sh | 15 +++++++++++++++ .../kernel-module-atheros_git.bb | 7 +++++++ 3 files changed, 26 insertions(+) create mode 100644 meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/50-firmware.rules create mode 100755 meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/firmware.sh diff --git a/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/50-firmware.rules b/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/50-firmware.rules new file mode 100644 index 000000000..e809e246e --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/50-firmware.rules @@ -0,0 +1,4 @@ +# do not edit this file, it will be overwritten on update + +# firmware-class requests, copies files into the kernel +SUBSYSTEM=="firmware", ACTION=="add", RUN+="firmware.sh $env{FIRMWARE} $env{DEVPATH}" diff --git a/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/firmware.sh b/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/firmware.sh new file mode 100755 index 000000000..11fbe56ba --- /dev/null +++ b/meta-digi-arm/recipes-kernel/kernel-module-atheros/ccardimx28js/firmware.sh @@ -0,0 +1,15 @@ +#!/bin/sh -l + +set -e + +FIRMWARE=$1 +DEVPATH=$2 + +if echo "${FIRMWARE}" | egrep -q "ath6k" ; then + /bin/echo "Refusing to load ${FIRMWARE}." +else + /bin/echo "Loading ${FIRMWARE}" + /lib/udev/firmware --firmware=${FIRMWARE} --devpath=${DEVPATH} +fi + + diff --git a/meta-digi-arm/recipes-kernel/kernel-module-atheros/kernel-module-atheros_git.bb b/meta-digi-arm/recipes-kernel/kernel-module-atheros/kernel-module-atheros_git.bb index 7b9aed46e..0d63acc09 100644 --- a/meta-digi-arm/recipes-kernel/kernel-module-atheros/kernel-module-atheros_git.bb +++ b/meta-digi-arm/recipes-kernel/kernel-module-atheros/kernel-module-atheros_git.bb @@ -22,6 +22,8 @@ SRC_URI = "${@base_conditional('ATHEROS_BUILD_SRC', '1' , '${SRC_URI_git}', '${ SRC_URI += " \ file://atheros \ file://atheros.conf \ + file://50-firmware.rules \ + file://firmware.sh \ " S = "${@base_conditional('ATHEROS_BUILD_SRC', '1' , '${WORKDIR}/git', '${WORKDIR}/${MACHINE}', d)}" @@ -38,6 +40,10 @@ do_install_append() { install -m 0755 ${WORKDIR}/atheros ${D}${sysconfdir}/network/if-pre-up.d/ install -d ${D}${sysconfdir}/modprobe.d install -m 0644 ${WORKDIR}/atheros.conf ${D}${sysconfdir}/modprobe.d/ + install -d ${D}${sysconfdir}/udev/rules.d + install -m 0644 ${WORKDIR}/50-firmware.rules ${D}${sysconfdir}/udev/rules.d/ + install -d ${D}/lib/udev + install -m 0755 ${WORKDIR}/firmware.sh ${D}/lib/udev/ } FILES_${PN} += " \ @@ -48,6 +54,7 @@ FILES_${PN} += " \ /lib/firmware/ath6k/AR6003/hw2.1.1/fw-4.bin \ /lib/firmware/ath6k/AR6003/hw2.1.1/nullTestFlow.bin \ /lib/firmware/ath6k/AR6003/hw2.1.1/utf.bin \ + /lib/udev/firmware.sh \ " # Deploy objects tarball if building from sources