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.fala...@keymile.com>
Cc: Valentin Longchamp <valentin.longch...@keymile.com>
Cc: Holger Brunck <holger.bru...@keymile.com>
Acked-by: Simon Glass <s...@chromium.org>
---
 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 19b0dc9..ab35a94 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";
-- 
1.7.10.1

_______________________________________________
U-Boot mailing list
U-Boot@lists.denx.de
http://lists.denx.de/mailman/listinfo/u-boot

Reply via email to