aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/devices
diff options
context:
space:
mode:
authorAndrew Victor <andrew@sanpeople.com>2007-11-19 08:37:23 -0500
committerDavid Woodhouse <dwmw2@infradead.org>2007-11-28 06:55:32 -0500
commitcccb45d4b34728d33638085435f8fdc0a83e0c00 (patch)
tree78dcc93509877d6f8ff79040631e49880aed3501 /drivers/mtd/devices
parentc2056e1e1ddcca8d43e89543e1795e4457f5d1e9 (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.c2
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;