diff options
author | Peter Korsgaard <jacmet@sunsite.dk> | 2009-05-18 11:13:54 +0100 |
---|---|---|
committer | Linus Torvalds <torvalds@linux-foundation.org> | 2009-05-18 08:36:21 -0700 |
commit | dbf8c11f821b6ff83302c34f2403b4f7231f50ae (patch) | |
tree | ba637dc39a49ae0dce4430b44b07d2f7638d5fd2 | |
parent | bac9caf016bf147af7d3afbe7580a7f773cb1566 (diff) | |
download | op-kernel-dev-dbf8c11f821b6ff83302c34f2403b4f7231f50ae.zip op-kernel-dev-dbf8c11f821b6ff83302c34f2403b4f7231f50ae.tar.gz |
mtd_dataflash: unbreak erase support
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.
Signed-off-by: Peter Korsgaard <jacmet@sunsite.dk>
Acked-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Signed-off-by: Linus Torvalds <torvalds@linux-foundation.org>
-rw-r--r-- | 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; |