diff options
author | Andrew Victor <andrew@sanpeople.com> | 2007-11-19 08:37:23 -0500 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2007-11-28 06:55:32 -0500 |
commit | cccb45d4b34728d33638085435f8fdc0a83e0c00 (patch) | |
tree | 78dcc93509877d6f8ff79040631e49880aed3501 /drivers/mtd/devices | |
parent | c2056e1e1ddcca8d43e89543e1795e4457f5d1e9 (diff) |
[MTD] mtd_dataflash: Incorrect compare-after-write check
After writing to a Dataflash page, the built-in compare operation is
used to check that the page was successfully written. A logic bug in
checking the results of the comparison currently causes the compare to
never fail.
This bug was originally in the legacy at91_dataflash.c driver.
Signed-off-by: Andrew Victor <andrew@sanpeople.com>
Acked-by: David Brownell <david-b@pacbell.net>
Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers/mtd/devices')
-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 a5ed6d232c35..b35e4813a3a5 100644 --- a/drivers/mtd/devices/mtd_dataflash.c +++ b/drivers/mtd/devices/mtd_dataflash.c | |||
@@ -420,7 +420,7 @@ static int dataflash_write(struct mtd_info *mtd, loff_t to, size_t len, | |||
420 | status = dataflash_waitready(priv->spi); | 420 | status = dataflash_waitready(priv->spi); |
421 | 421 | ||
422 | /* Check result of the compare operation */ | 422 | /* Check result of the compare operation */ |
423 | if ((status & (1 << 6)) == 1) { | 423 | if (status & (1 << 6)) { |
424 | printk(KERN_ERR "%s: compare page %u, err %d\n", | 424 | printk(KERN_ERR "%s: compare page %u, err %d\n", |
425 | spi->dev.bus_id, pageaddr, status); | 425 | spi->dev.bus_id, pageaddr, status); |
426 | remaining = 0; | 426 | remaining = 0; |