diff options
author | Benjamin Herrenschmidt <benh@kernel.crashing.org> | 2017-06-24 14:17:18 -0500 |
---|---|---|
committer | Stewart Smith <stewart@linux.vnet.ibm.com> | 2017-06-26 14:28:58 +1000 |
commit | a70bf6b2c840d287252002b4d66247de9cdb2b66 (patch) | |
tree | 53a81b2d34459e620f2449012ceae794cc3f9956 /libflash | |
parent | ed495a41d99385fd31589fd89a49c47ef98ca4be (diff) | |
download | skiboot-a70bf6b2c840d287252002b4d66247de9cdb2b66.zip skiboot-a70bf6b2c840d287252002b4d66247de9cdb2b66.tar.gz skiboot-a70bf6b2c840d287252002b4d66247de9cdb2b66.tar.bz2 |
libffs: Fix ffs_lookup_part() return value
It would return success when the part wasn't found
Signed-off-by: Benjamin Herrenschmidt <benh@kernel.crashing.org>
Signed-off-by: Michael Neuling <mikey@neuling.org>
Signed-off-by: Stewart Smith <stewart@linux.vnet.ibm.com>
Diffstat (limited to 'libflash')
-rw-r--r-- | libflash/libffs.c | 10 |
1 files changed, 6 insertions, 4 deletions
diff --git a/libflash/libffs.c b/libflash/libffs.c index 7ae9050..8943505 100644 --- a/libflash/libffs.c +++ b/libflash/libffs.c @@ -348,18 +348,20 @@ void ffs_close(struct ffs_handle *ffs) int ffs_lookup_part(struct ffs_handle *ffs, const char *name, uint32_t *part_idx) { - int i = 0; struct ffs_entry *ent = NULL; + int i = 0, rc = FFS_ERR_PART_NOT_FOUND; list_for_each(&ffs->hdr.entries, ent, list) { - if (strncmp(name, ent->name, sizeof(ent->name)) == 0) + if (strncmp(name, ent->name, sizeof(ent->name)) == 0) { + rc = 0; break; + } i++; } - if (part_idx) + if (rc == 0 && part_idx) *part_idx = i; - return ent ? 0 : FFS_ERR_PART_NOT_FOUND; + return rc; } int ffs_part_info(struct ffs_handle *ffs, uint32_t part_idx, |