With ELDK4.2 we were getting a warning that load_end may be used
uninitialized in calling lmb_reserve. This could not be the case,
however. If we re-order the checks (and make them slightly clearer as
well) the warning goes away. bootm_load_os may only return 0 on
success, BOOTM_ERR_OVERLAP in a non-fatal overlap (already covered in
comments) or a fatal BOOTM_ERR that is covered in the error handler.
Signed-off-by: Tom Rini <trini@ti.com>
iflag = bootm_disable_interrupts();
ret = bootm_load_os(images, &load_end, 0);
- if (ret && ret != BOOTM_ERR_OVERLAP)
- goto err;
-
if (ret == 0)
lmb_reserve(&images->lmb, images->os.load,
(load_end - images->os.load));
+ else if (ret && ret != BOOTM_ERR_OVERLAP)
+ goto err;
else if (ret == BOOTM_ERR_OVERLAP)
ret = 0;
}