--- /dev/null
+From 880444e214cfd293a2e8cc4bd3505f7ffa6ce33a Mon Sep 17 00:00:00 2001
+From: "Luis R. Rodriguez" <mcgrof@kernel.org>
+Date: Fri, 16 Dec 2016 03:10:35 -0800
+Subject: selftests: firmware: send expected errors to /dev/null
+
+From: Luis R. Rodriguez <mcgrof@kernel.org>
+
+commit 880444e214cfd293a2e8cc4bd3505f7ffa6ce33a upstream.
+
+Error that we expect should not be spilled to stdout.
+
+Without this we get:
+
+./fw_filesystem.sh: line 58: printf: write error: Invalid argument
+./fw_filesystem.sh: line 63: printf: write error: No such device
+./fw_filesystem.sh: line 69: echo: write error: No such file or directory
+./fw_filesystem.sh: filesystem loading works
+./fw_filesystem.sh: async filesystem loading works
+
+With it:
+
+./fw_filesystem.sh: filesystem loading works
+./fw_filesystem.sh: async filesystem loading works
+
+Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
+Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ tools/testing/selftests/firmware/fw_filesystem.sh | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+--- a/tools/testing/selftests/firmware/fw_filesystem.sh
++++ b/tools/testing/selftests/firmware/fw_filesystem.sh
+@@ -48,18 +48,18 @@ echo "ABCD0123" >"$FW"
+
+ NAME=$(basename "$FW")
+
+-if printf '\000' >"$DIR"/trigger_request; then
++if printf '\000' >"$DIR"/trigger_request 2> /dev/null; then
+ echo "$0: empty filename should not succeed" >&2
+ exit 1
+ fi
+
+-if printf '\000' >"$DIR"/trigger_async_request; then
++if printf '\000' >"$DIR"/trigger_async_request 2> /dev/null; then
+ echo "$0: empty filename should not succeed (async)" >&2
+ exit 1
+ fi
+
+ # Request a firmware that doesn't exist, it should fail.
+-if echo -n "nope-$NAME" >"$DIR"/trigger_request; then
++if echo -n "nope-$NAME" >"$DIR"/trigger_request 2> /dev/null; then
+ echo "$0: firmware shouldn't have loaded" >&2
+ exit 1
+ fi
--- /dev/null
+From afb999cdef69148f366839e74470d8f5375ba5f1 Mon Sep 17 00:00:00 2001
+From: "Luis R. Rodriguez" <mcgrof@kernel.org>
+Date: Mon, 23 Jan 2017 08:11:07 -0800
+Subject: tools: firmware: check for distro fallback udev cancel rule
+
+From: Luis R. Rodriguez <mcgrof@kernel.org>
+
+commit afb999cdef69148f366839e74470d8f5375ba5f1 upstream.
+
+Some distributions (Debian, OpenSUSE) have a udev rule in place to cancel
+all fallback mechanism uevents immediately. This would obviously
+make it hard to test against the fallback mechanism test interface,
+so we need to check for this.
+
+Signed-off-by: Luis R. Rodriguez <mcgrof@kernel.org>
+Signed-off-by: Amit Pundir <amit.pundir@linaro.org>
+Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
+
+---
+ tools/testing/selftests/firmware/fw_userhelper.sh | 28 ++++++++++++++++++++--
+ 1 file changed, 26 insertions(+), 2 deletions(-)
+
+--- 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