summaryrefslogtreecommitdiffstats
path: root/common
diff options
context:
space:
mode:
authorSascha Hauer <s.hauer@pengutronix.de>2021-05-17 20:54:12 +0200
committerSascha Hauer <s.hauer@pengutronix.de>2021-05-18 08:24:46 +0200
commit345b25915bf4d3345a7662feca094103214f6a3a (patch)
tree5be59e22f0a6fddcdf538f12d8fb6f49d4581f6d /common
parent3a46295135e5d2905f36f5986e81b4ac475e3f70 (diff)
downloadbarebox-345b25915bf4d3345a7662feca094103214f6a3a.tar.gz
barebox-345b25915bf4d3345a7662feca094103214f6a3a.tar.xz
i.MX FCB: Fix error checking
The return value of imx_bbu_firmware_fcb_start_page() is assigned to an unsigned type which is then tested for an error (<0). Test against a signed variable instead to let the error checking actually work. Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de> Link: https://lore.barebox.org/20210517185424.32145-4-s.hauer@pengutronix.de Signed-off-by: Sascha Hauer <s.hauer@pengutronix.de>
Diffstat (limited to 'common')
-rw-r--r--common/imx-bbu-nand-fcb.c17
1 files changed, 9 insertions, 8 deletions
diff --git a/common/imx-bbu-nand-fcb.c b/common/imx-bbu-nand-fcb.c
index 4e680a0a51..3b07d539ee 100644
--- a/common/imx-bbu-nand-fcb.c
+++ b/common/imx-bbu-nand-fcb.c
@@ -1263,16 +1263,17 @@ static int imx_bbu_nand_update(struct bbu_handler *handler, struct bbu_data *dat
free(fcb);
fcb = xzalloc(sizeof(*fcb));
- fcb->Firmware1_startingPage = imx_bbu_firmware_fcb_start_page(mtd, !used);
- if (fcb->Firmware1_startingPage < 0) {
- ret = fcb->Firmware1_startingPage;
+
+ ret = imx_bbu_firmware_fcb_start_page(mtd, !used);
+ if (ret < 0)
goto out;
- }
- fcb->Firmware2_startingPage = imx_bbu_firmware_fcb_start_page(mtd, used);
- if (fcb->Firmware2_startingPage < 0) {
- ret = fcb->Firmware2_startingPage;
+ fcb->Firmware1_startingPage = ret;
+
+ ret = imx_bbu_firmware_fcb_start_page(mtd, used);
+ if (ret < 0)
goto out;
- }
+ fcb->Firmware2_startingPage = ret;
+
fcb->PagesInFirmware1 = fw_size / mtd->writesize;
fcb->PagesInFirmware2 = fcb->PagesInFirmware1;