[U-Boot] [PATCH 2/4] sf: spansion: fixing erasing when sector size >64KiB

Sergei Shtylyov sshtylyov at mvista.com
Wed Oct 6 12:07:25 CEST 2010


Hello.

On 06-10-2010 11:37, Mike Frysinger wrote:

> From: Marc-André Hébert<hebert.marcandre at gmail.com>

> The spansion_erase currently only works when the sector size is 64KB.
> cmd[1] should contain the higher 8 bit of the 24 bit address of the
> sector to be erased. Currently it is holding the sector index to be
> erased which happens to be the same thing when the sector size is
> 64KB.

> Signed-off-by: Marc-Andre Hebert <marc-andre.hebert at humanware.com>
> Signed-off-by: Mike Frysinger <vapier at gentoo.org>
> ---
>   drivers/mtd/spi/spansion.c |    7 +++----
>   1 files changed, 3 insertions(+), 4 deletions(-)

> diff --git a/drivers/mtd/spi/spansion.c b/drivers/mtd/spi/spansion.c
> index d6c1a5f..94489af 100644
> --- a/drivers/mtd/spi/spansion.c
> +++ b/drivers/mtd/spi/spansion.c
[...]
> @@ -274,8 +273,8 @@ int spansion_erase(struct spi_flash *flash, u32 offset, size_t len)
>   	}
>
>   	ret = 0;
> -	for (actual = 0; actual<  len; actual++) {
> -		cmd[1] = (offset / sector_size) + actual;
> +	for (actual = 0; actual<  len; actual+=sector_size) {

    Please put spaces around += to keep the style consistent.

WBR, Sergei


More information about the U-Boot mailing list