From 3488850629d2d27febe1839ea0b0f92e915c35fa Mon Sep 17 00:00:00 2001 From: Gerlando Falauto <gerlando.falauto@keymile.com> Date: Wed, 3 Jul 2013 20:33:57 +0200 Subject: [PATCH] cmd_sf: let "sf update" erase last sector as a whole make "sf update" work with unaligned `len' parameter, by deleting the whole last sector before writing, so to allow for: sf update ${load_addr_r} 0 ${filesize} Signed-off-by: Gerlando Falauto <gerlando.falauto@keymile.com> Cc: Valentin Longchamp <valentin.longchamp@keymile.com> Cc: Holger Brunck <holger.brunck@keymile.com> Acked-by: Simon Glass <sjg@chromium.org> Reviewed-by: Jagannadha Sutradharudu Teki <jagannadh.teki@gmail.com> --- common/cmd_sf.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/common/cmd_sf.c b/common/cmd_sf.c index 34844ac4a0..4af0f0af26 100644 --- a/common/cmd_sf.c +++ b/common/cmd_sf.c @@ -160,7 +160,8 @@ static const char *spi_flash_update_block(struct spi_flash *flash, u32 offset, *skipped += len; return NULL; } - if (spi_flash_erase(flash, offset, len)) + /* Erase the entire sector */ + if (spi_flash_erase(flash, offset, flash->sector_size)) return "erase"; if (spi_flash_write(flash, offset, len, buf)) return "write"; -- 2.39.5