diff options
author | Kees Cook <keescook@chromium.org> | 2016-02-04 13:15:02 -0800 |
---|---|---|
committer | Mimi Zohar <zohar@linux.vnet.ibm.com> | 2016-02-18 17:14:01 -0500 |
commit | 4b2530d819e179ae3352c38a1ceff929a922d070 (patch) | |
tree | 5a2418b846be2d02fd3741047aaabec9c9d932e9 /drivers/base/firmware_class.c | |
parent | 5275d194e0e56db2bdc43e58f5e54b8e36d6fb03 (diff) | |
download | talos-obmc-linux-4b2530d819e179ae3352c38a1ceff929a922d070.tar.gz talos-obmc-linux-4b2530d819e179ae3352c38a1ceff929a922d070.zip |
firmware: clean up filesystem load exit path
This makes the error and success paths more readable while trying to
load firmware from the filesystem.
Signed-off-by: Kees Cook <keescook@chromium.org>
Cc: Josh Boyer <jwboyer@fedoraproject.org>
Cc: David Howells <dhowells@redhat.com>
Acked-by: Luis R. Rodriguez <mcgrof@kernel.org>
Signed-off-by: Mimi Zohar <zohar@linux.vnet.ibm.com>
Diffstat (limited to 'drivers/base/firmware_class.c')
-rw-r--r-- | drivers/base/firmware_class.c | 12 |
1 files changed, 5 insertions, 7 deletions
diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index 7bc4ad0f36d5..c743a2f18c33 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -361,19 +361,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; } |