[PATCH] mtd_dataflash: unbreak erase support
Artem Bityutskiy
Artem.Bityutskiy at nokia.com
Wed May 13 08:16:36 EDT 2009
ext Peter Korsgaard wrote:
> Commit 5b7f3a50 (fix dataflash 64-bit divisions) unfortunately
> introduced a typo. Erase addr and len were swapped in the pageaddr
> calculation, causing the wrong sectors to get erased.
>
> Please consider for 2.6.29-stable as well.
>
> Signed-off-by: Peter Korsgaard <jacmet at sunsite.dk>
> ---
> drivers/mtd/devices/mtd_dataflash.c | 2 +-
> 1 files changed, 1 insertions(+), 1 deletions(-)
>
> diff --git a/drivers/mtd/devices/mtd_dataflash.c b/drivers/mtd/devices/mtd_dataflash.c
> index 62dee54..43976aa 100644
> --- a/drivers/mtd/devices/mtd_dataflash.c
> +++ b/drivers/mtd/devices/mtd_dataflash.c
> @@ -178,7 +178,7 @@ static int dataflash_erase(struct mtd_info *mtd, struct erase_info *instr)
> /* Calculate flash page address; use block erase (for speed) if
> * we're at a block boundary and need to erase the whole block.
> */
> - pageaddr = div_u64(instr->len, priv->page_size);
> + pageaddr = div_u64(instr->addr, priv->page_size);
> do_block = (pageaddr & 0x7) == 0 && instr->len >= blocksize;
> pageaddr = pageaddr << priv->page_offset;
Oh, sorry for that.
Acked-by: Artem Bityutskiy <Artem.Bityutskiy at nokia.com>
--
Best Regards,
Artem Bityutskiy (Артём Битюцкий)
More information about the linux-mtd
mailing list