This makes the error and success paths more readable while trying to
load firmware from the filesystem.

Signed-off-by: Kees Cook <[email protected]>
Cc: Josh Boyer <[email protected]>
Cc: David Howells <[email protected]>
Cc: Luis R. Rodriguez <[email protected]>
Cc: Mimi Zohar <[email protected]>
---
Suggested as an alternative to "[PATCH v3 06/22] firmware: fold successful fw 
read early"
---
 drivers/base/firmware_class.c | 12 +++++-------
 1 file changed, 5 insertions(+), 7 deletions(-)

diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c
index 62e052b50aa9..484afbd783f8 100644
--- a/drivers/base/firmware_class.c
+++ b/drivers/base/firmware_class.c
@@ -352,19 +352,17 @@ static int fw_get_filesystem_firmware(struct device 
*device,
                        continue;
                rc = fw_read_file_contents(file, buf);
                fput(file);
-               if (rc)
+               if (rc) {
                        dev_warn(device, "loading %s failed with error %d\n",
                                path, rc);
-               else
-                       break;
-       }
-       __putname(path);
-
-       if (!rc) {
+                       continue;
+               }
                dev_dbg(device, "direct-loading %s\n",
                        buf->fw_id);
                fw_finish_direct_load(device, buf);
+               break;
        }
+       __putname(path);
 
        return rc;
 }
-- 
2.6.3


-- 
Kees Cook
Chrome OS & Brillo Security

Reply via email to