On Mon, 2018-03-19 at 19:06 +0100, Greg Kroah-Hartman wrote: > 4.4-stable review patch. If anyone has any objections, please let me know. > > ------------------ > > From: "Luis R. Rodriguez" <mcgrof@xxxxxxxxxx> > > > [ Upstream commit 65c79230576873b312c3599479c1e42355c9f349 ] > > The file /sys/module/firmware_class/parameters/path can be used > to set a custom firmware path. The fw_filesystem.sh script creates > a temporary directory to add a test firmware file to be used during > testing, in order for this to work it uses the custom path syfs file > and it was supposed to reset back the file on execution exit. The > script failed to do this due to a typo, it was using OLD_PATH instead > of OLD_FWPATH, since its inception since v3.17. > > Its not as easy to just keep the old setting, it turns out that > resetting an empty setting won't actually do what we want, we need > to check if it was empty and set an empty space. That doesn't seem to work either. I don't see any stripping of spaces in the generic parameter code or firmware_class, and the parameter reads back as a space: # echo -n ' ' > path # od -tx1 path 0000000 20 0a 0000002 However, this seems to work: # printf '\0' > path # od -tx1 path 0000000 0a 0000001 Ben. > Without this we end up having the temporary path always set after > we run these tests. > > Fixes: 0a8adf58475 ("test: add firmware_class loader test") > Signed-off-by: Luis R. Rodriguez <mcgrof@xxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > Signed-off-by: Sasha Levin <alexander.levin@xxxxxxxxxxxxx> > Signed-off-by: Greg Kroah-Hartman <gregkh@xxxxxxxxxxxxxxxxxxx> > --- > tools/testing/selftests/firmware/fw_filesystem.sh | 5 ++++- > 1 file changed, 4 insertions(+), 1 deletion(-) > > --- a/tools/testing/selftests/firmware/fw_filesystem.sh > +++ b/tools/testing/selftests/firmware/fw_filesystem.sh > @@ -28,7 +28,10 @@ test_finish() > if [ "$HAS_FW_LOADER_USER_HELPER" = "yes" ]; then > echo "$OLD_TIMEOUT" >/sys/class/firmware/timeout > fi > - echo -n "$OLD_PATH" >/sys/module/firmware_class/parameters/path > + if [ "$OLD_FWPATH" = "" ]; then > + OLD_FWPATH=" " > + fi > + echo -n "$OLD_FWPATH" >/sys/module/firmware_class/parameters/path > rm -f "$FW" > rmdir "$FWPATH" > } > > > -- Ben Hutchings Software Developer, Codethink Ltd.