test_firmware: wrap sysfs timeout test into helper
This cannot run on all kernel builds. This will help us later skip this test on kernel configs where non-applicable. Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
parent
3f72271233
commit
881c23de02
@ -175,39 +175,44 @@ trap "test_finish" EXIT
|
|||||||
echo "ABCD0123" >"$FW"
|
echo "ABCD0123" >"$FW"
|
||||||
NAME=$(basename "$FW")
|
NAME=$(basename "$FW")
|
||||||
|
|
||||||
DEVPATH="$DIR"/"nope-$NAME"/loading
|
test_syfs_timeout()
|
||||||
|
{
|
||||||
|
DEVPATH="$DIR"/"nope-$NAME"/loading
|
||||||
|
|
||||||
# Test failure when doing nothing (timeout works).
|
# Test failure when doing nothing (timeout works).
|
||||||
echo -n 2 >/sys/class/firmware/timeout
|
echo -n 2 >/sys/class/firmware/timeout
|
||||||
echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
|
echo -n "nope-$NAME" >"$DIR"/trigger_request 2>/dev/null &
|
||||||
|
|
||||||
# Give the kernel some time to load the loading file, must be less
|
# Give the kernel some time to load the loading file, must be less
|
||||||
# than the timeout above.
|
# than the timeout above.
|
||||||
sleep 1
|
sleep 1
|
||||||
if [ ! -f $DEVPATH ]; then
|
if [ ! -f $DEVPATH ]; then
|
||||||
echo "$0: fallback mechanism immediately cancelled"
|
echo "$0: fallback mechanism immediately cancelled"
|
||||||
echo ""
|
echo ""
|
||||||
echo "The file never appeared: $DEVPATH"
|
echo "The file never appeared: $DEVPATH"
|
||||||
echo ""
|
echo ""
|
||||||
echo "This might be a distribution udev rule setup by your distribution"
|
echo "This might be a distribution udev rule setup by your distribution"
|
||||||
echo "to immediately cancel all fallback requests, this must be"
|
echo "to immediately cancel all fallback requests, this must be"
|
||||||
echo "removed before running these tests. To confirm look for"
|
echo "removed before running these tests. To confirm look for"
|
||||||
echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
|
echo "a firmware rule like /lib/udev/rules.d/50-firmware.rules"
|
||||||
echo "and see if you have something like this:"
|
echo "and see if you have something like this:"
|
||||||
echo ""
|
echo ""
|
||||||
echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
|
echo "SUBSYSTEM==\"firmware\", ACTION==\"add\", ATTR{loading}=\"-1\""
|
||||||
echo ""
|
echo ""
|
||||||
echo "If you do remove this file or comment out this line before"
|
echo "If you do remove this file or comment out this line before"
|
||||||
echo "proceeding with these tests."
|
echo "proceeding with these tests."
|
||||||
exit 1
|
exit 1
|
||||||
fi
|
fi
|
||||||
|
|
||||||
if diff -q "$FW" /dev/test_firmware >/dev/null ; then
|
if diff -q "$FW" /dev/test_firmware >/dev/null ; then
|
||||||
echo "$0: firmware was not expected to match" >&2
|
echo "$0: firmware was not expected to match" >&2
|
||||||
exit 1
|
exit 1
|
||||||
else
|
else
|
||||||
echo "$0: timeout works"
|
echo "$0: timeout works"
|
||||||
fi
|
fi
|
||||||
|
}
|
||||||
|
|
||||||
|
test_syfs_timeout
|
||||||
|
|
||||||
# Put timeout high enough for us to do work but not so long that failures
|
# Put timeout high enough for us to do work but not so long that failures
|
||||||
# slow down this test too much.
|
# slow down this test too much.
|
||||||
|
Loading…
Reference in New Issue
Block a user