From 67f8ed1194801a48abf09f6f2e1e581d53cd1d3d Mon Sep 17 00:00:00 2001 From: Mattia Moffa Date: Thu, 2 Jul 2026 15:27:00 +0200 Subject: [PATCH] Diagnostics: support hal_flash_write/erase that return size --- src/libwolfboot.c | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/libwolfboot.c b/src/libwolfboot.c index 316e6952..9d63c8d1 100644 --- a/src/libwolfboot.c +++ b/src/libwolfboot.c @@ -1082,21 +1082,25 @@ static void RAMFUNCTION diag_lock(void) static int RAMFUNCTION diag_erase(haladdr_t addr, uint32_t len) { + int ret; #if DIAG_IS_EXT - return ext_flash_erase(addr, len); + ret = ext_flash_erase(addr, len); #else - return hal_flash_erase(addr, len); + ret = hal_flash_erase(addr, len); #endif + return (ret < 0) ? -1 : 0; } #if defined(__WOLFBOOT) || defined(UNIT_TEST) static int RAMFUNCTION diag_write(haladdr_t addr, const void *buf, uint32_t len) { + int ret; #if DIAG_IS_EXT - return ext_flash_write(addr, (const uint8_t *)buf, len); + ret = ext_flash_write(addr, (const uint8_t *)buf, len); #else - return hal_flash_write(addr, (const uint8_t *)buf, len); + ret = hal_flash_write(addr, (const uint8_t *)buf, len); #endif + return (ret < 0) ? -1 : 0; } static int RAMFUNCTION diag_write_header(haladdr_t sector_addr, uint32_t generation)