|
@@ -175,39 +175,44 @@ trap "test_finish" EXIT
|
|
|
echo "ABCD0123" >"$FW"
|
|
|
NAME=$(basename "$FW")
|
|
|
|
|
|
-DEVPATH="$DIR"/"nope-$NAME"/loading
|
|
|
-
|
|
|
-# Test failure when doing nothing (timeout works).
|
|
|
-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
|
|
|
+test_syfs_timeout()
|
|
|
+{
|
|
|
+ DEVPATH="$DIR"/"nope-$NAME"/loading
|
|
|
+
|
|
|
+ # Test failure when doing nothing (timeout works).
|
|
|
+ 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
|
|
|
-else
|
|
|
- echo "$0: timeout works"
|
|
|
-fi
|
|
|
+ if diff -q "$FW" /dev/test_firmware >/dev/null ; then
|
|
|
+ echo "$0: firmware was not expected to match" >&2
|
|
|
+ exit 1
|
|
|
+ else
|
|
|
+ echo "$0: timeout works"
|
|
|
+ fi
|
|
|
+}
|
|
|
+
|
|
|
+test_syfs_timeout
|
|
|
|
|
|
# Put timeout high enough for us to do work but not so long that failures
|
|
|
# slow down this test too much.
|