diff options
author | Gerlando Falauto <gerlando.falauto@keymile.com> | 2013-07-03 20:33:57 +0200 |
---|---|---|
committer | Jagannadha Sutradharudu Teki <jaganna@xilinx.com> | 2013-08-07 01:05:07 +0530 |
commit | 3488850629d2d27febe1839ea0b0f92e915c35fa (patch) | |
tree | fe48ee52871c7a2c803cde39110ae10afd83fd3e /common/cmd_sf.c | |
parent | 5928b9a86514753b7b12ac528b3404114774aa9a (diff) |
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>
Diffstat (limited to 'common/cmd_sf.c')
-rw-r--r-- | common/cmd_sf.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/common/cmd_sf.c b/common/cmd_sf.c index 34844ac4a0b..4af0f0af26b 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"; |