The 'return 0;' statement is not reachable. Remove it.
'else' is superfluous after an if statement with return.

Addresses-Coverity-ID: 352451 ("Logically dead code")
Signed-off-by: Heinrich Schuchardt <[email protected]>
---
Simon, please, recheck the logic of the function.

The comment 'For 'all' we return all bootflows' implies that in this case
0 should be returned.

Best regards

Heinrich
---
 boot/bootflow.c | 6 ++----
 1 file changed, 2 insertions(+), 4 deletions(-)

diff --git a/boot/bootflow.c b/boot/bootflow.c
index 1ea2966ae9..05484fd5b1 100644
--- a/boot/bootflow.c
+++ b/boot/bootflow.c
@@ -361,7 +361,7 @@ static int bootflow_check(struct bootflow_iter *iter, 
struct bootflow *bflow)
        }
 
        /* Unless there is nothing more to try, move to the next device */
-       else if (ret != BF_NO_MORE_PARTS && ret != -ENOSYS) {
+       if (ret != BF_NO_MORE_PARTS && ret != -ENOSYS) {
                log_debug("Bootdev '%s' part %d method '%s': Error %d\n",
                          dev->name, iter->part, iter->method->name, ret);
                /*
@@ -371,10 +371,8 @@ static int bootflow_check(struct bootflow_iter *iter, 
struct bootflow *bflow)
                if (iter->flags & BOOTFLOWIF_ALL)
                        return log_msg_ret("all", ret);
        }
-       if (ret)
-               return log_msg_ret("check", ret);
 
-       return 0;
+       return log_msg_ret("check", ret);
 }
 
 int bootflow_scan_first(struct udevice *dev, const char *label,
-- 
2.43.0

Reply via email to