diff options
author | Andrew Victor <andrew@sanpeople.com> | 2007-11-19 15:37:23 +0200 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2007-11-28 11:55:32 +0000 |
commit | cccb45d4b34728d33638085435f8fdc0a83e0c00 (patch) | |
tree | 78dcc93509877d6f8ff79040631e49880aed3501 /drivers/mtd/devices | |
parent | c2056e1e1ddcca8d43e89543e1795e4457f5d1e9 (diff) | |
download | op-kernel-dev-cccb45d4b34728d33638085435f8fdc0a83e0c00.zip op-kernel-dev-cccb45d4b34728d33638085435f8fdc0a83e0c00.tar.gz |
[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 a5ed6d2..b35e481 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, status = dataflash_waitready(priv->spi); /* Check result of the compare operation */ - if ((status & (1 << 6)) == 1) { + if (status & (1 << 6)) { printk(KERN_ERR "%s: compare page %u, err %d\n", spi->dev.bus_id, pageaddr, status); remaining = 0; |