summaryrefslogtreecommitdiff
path: root/tools/testing/selftests/firmware/fw_userhelper.sh
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2017-11-16 04:03:33 (GMT)
committerAlex Shi <alex.shi@linaro.org>2017-11-16 04:03:33 (GMT)
commit56f4a560c6d6318b5a8e18a1b3e44909a5158d1e (patch)
tree3193b43eebd2cde7b13de9eb4b37cb5a1dccfdd0 /tools/testing/selftests/firmware/fw_userhelper.sh
parent3871608e4cb995b0fb9c630da9ac45b246151fef (diff)
parent9b609ba2c2df8290054e5c62be69101b43e2a976 (diff)
downloadlinux-56f4a560c6d6318b5a8e18a1b3e44909a5158d1e.tar.xz
Merge tag 'v4.9.62' into linux-linaro-lsk-v4.9
This is the 4.9.62 stable release
Diffstat (limited to 'tools/testing/selftests/firmware/fw_userhelper.sh')
-rwxr-xr-xtools/testing/selftests/firmware/fw_userhelper.sh28
1 files changed, 26 insertions, 2 deletions
diff --git a/tools/testing/selftests/firmware/fw_userhelper.sh b/tools/testing/selftests/firmware/fw_userhelper.sh
index b9983f8..01c626a 100755
--- a/tools/testing/selftests/firmware/fw_userhelper.sh
+++ b/tools/testing/selftests/firmware/fw_userhelper.sh
@@ -64,9 +64,33 @@ trap "test_finish" EXIT
echo "ABCD0123" >"$FW"
NAME=$(basename "$FW")
+DEVPATH="$DIR"/"nope-$NAME"/loading
+
# Test failure when doing nothing (timeout works).
-echo 1 >/sys/class/firmware/timeout
-echo -n "$NAME" >"$DIR"/trigger_request
+echo -n 2 >/sys/class/firmware/timeout
+echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
+
+# Give the kernel some time to load the loading file, must be less
+# than the timeout above.
+sleep 1
+if [ ! -f $DEVPATH ]; then
+ echo "$0: fallback mechanism immediately cancelled"
+ echo ""
+ echo "The file never appeared: $DEVPATH"
+ echo ""
+ echo "This might be a distribution udev rule setup by your distribution"
+ echo "to immediately cancel all fallback requests, this must be"
+ echo "removed before running these tests. To confirm look for"
+ echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
+ echo "and see if you have something like this:"
+ echo ""
+ echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
+ echo ""
+ echo "If you do remove this file or comment out this line before"
+ echo "proceeding with these tests."
+ exit 1
+fi
+
if diff -q "$FW" /dev/test_firmware >/dev/null ; then
echo "$0: firmware was not expected to match" >&2
exit 1