summaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@cruncher.tec.linutronix.de>2006-06-28 00:11:45 +0200
committerDavid Woodhouse <dwmw2@infradead.org>2006-06-27 23:24:09 +0100
commit6a93096195305f6f2a39544a034e77e2e74d5799 (patch)
tree06d9354fd539aaf581c7e57bfbd92160e6210dff /drivers
parent1887f517e3cdf5f1e9c0e4daaa864450415a8f61 (diff)
downloadlinux-6a93096195305f6f2a39544a034e77e2e74d5799.tar.gz
linux-6a93096195305f6f2a39544a034e77e2e74d5799.tar.bz2
linux-6a93096195305f6f2a39544a034e77e2e74d5799.zip
[MTD] NAND: Select chip before checking write protect status
The other way round works not really well with boards which have a static NAND chipselect. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Signed-off-by: David Woodhouse <dwmw2@infradead.org>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/mtd/nand/nand_base.c6
1 files changed, 3 insertions, 3 deletions
diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
index 8df184f6d8d1..80a76654d963 100644
--- a/drivers/mtd/nand/nand_base.c
+++ b/drivers/mtd/nand/nand_base.c
@@ -1610,13 +1610,13 @@ static int nand_do_write_ops(struct mtd_info *mtd, loff_t to,
if (!writelen)
return 0;
+ chipnr = (int)(to >> chip->chip_shift);
+ chip->select_chip(mtd, chipnr);
+
/* Check, if it is write protected */
if (nand_check_wp(mtd))
return -EIO;
- chipnr = (int)(to >> chip->chip_shift);
- chip->select_chip(mtd, chipnr);
-
realpage = (int)(to >> chip->page_shift);
page = realpage & chip->pagemask;
blockmask = (1 << (chip->phys_erase_shift - chip->page_shift)) - 1;