From: David Howells <dhowells@xxxxxxxxxx> We'll be folding in some more checks on fw_read_file_contents(), this will make the success case easier to follow. Reviewed-by: Josh Boyer <jwboyer at fedoraproject.org> Signed-off-by: David Howells <dhowells at redhat.com> Signed-off-by: Luis R. Rodriguez <mcgrof at kernel.org> Signed-off-by: Mimi Zohar <zohar at linux.vnet.ibm.com> --- drivers/base/firmware_class.c | 16 +++++++--------- 1 file changed, 7 insertions(+), 9 deletions(-) diff --git a/drivers/base/firmware_class.c b/drivers/base/firmware_class.c index fb64814..c658cec 100644 --- a/drivers/base/firmware_class.c +++ b/drivers/base/firmware_class.c @@ -361,20 +361,18 @@ static int fw_get_filesystem_firmware(struct device *device, continue; rc = fw_read_file_contents(file, buf); fput(file); - if (rc) + if (rc == 0) { + dev_dbg(device, "direct-loading %s\n", + buf->fw_id); + fw_finish_direct_load(device, buf); + goto out; + } else dev_warn(device, "loading %s failed with error %d\n", path, rc); - else - break; } +out: __putname(path); - if (!rc) { - dev_dbg(device, "direct-loading %s\n", - buf->fw_id); - fw_finish_direct_load(device, buf); - } - return rc; } -- 2.1.0