diff options
author | Ben Hutchings <ben.hutchings@codethink.co.uk> | 2018-04-04 16:38:49 -0400 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2018-04-23 07:03:25 -0400 |
commit | e538409257d0217a9bc715686100a5328db75a15 (patch) | |
tree | fd52fea67fc630cfaffdf080da00c14a2095a775 /tools | |
parent | 1ecb160199c3c289c660bdb852a9269e243009a8 (diff) |
test_firmware: fix setting old custom fw path back on exit, second try
Commit 65c79230576 tried to clear the custom firmware path on exit by
writing a single space to the firmware_class.path parameter. This
doesn't work because nothing strips this space from the value stored
and fw_get_filesystem_firmware() only ignores zero-length paths.
Instead, write a null byte.
Fixes: 0a8adf58475 ("test: add firmware_class loader test")
Fixes: 65c79230576 ("test_firmware: fix setting old custom fw path back on exit")
Signed-off-by: Ben Hutchings <ben.hutchings@codethink.co.uk>
Acked-by: Luis R. Rodriguez <mcgrof@kernel.org>
Cc: stable <stable@vger.kernel.org>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'tools')
-rwxr-xr-x | tools/testing/selftests/firmware/fw_lib.sh | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/tools/testing/selftests/firmware/fw_lib.sh b/tools/testing/selftests/firmware/fw_lib.sh index 9ea31b57d71a..962d7f4ac627 100755 --- a/tools/testing/selftests/firmware/fw_lib.sh +++ b/tools/testing/selftests/firmware/fw_lib.sh | |||
@@ -154,11 +154,13 @@ test_finish() | |||
154 | if [ "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then | 154 | if [ "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then |
155 | echo "$OLD_TIMEOUT" >/sys/class/firmware/timeout | 155 | echo "$OLD_TIMEOUT" >/sys/class/firmware/timeout |
156 | fi | 156 | fi |
157 | if [ "$OLD_FWPATH" = "" ]; then | ||
158 | OLD_FWPATH=" " | ||
159 | fi | ||
160 | if [ "$TEST_REQS_FW_SET_CUSTOM_PATH" = "yes" ]; then | 157 | if [ "$TEST_REQS_FW_SET_CUSTOM_PATH" = "yes" ]; then |
161 | echo -n "$OLD_FWPATH" >/sys/module/firmware_class/parameters/path | 158 | if [ "$OLD_FWPATH" = "" ]; then |
159 | # A zero-length write won't work; write a null byte | ||
160 | printf '\000' >/sys/module/firmware_class/parameters/path | ||
161 | else | ||
162 | echo -n "$OLD_FWPATH" >/sys/module/firmware_class/parameters/path | ||
163 | fi | ||
162 | fi | 164 | fi |
163 | if [ -f $FW ]; then | 165 | if [ -f $FW ]; then |
164 | rm -f "$FW" | 166 | rm -f "$FW" |