diff options
author | Thomas Gleixner <tglx@cruncher.tec.linutronix.de> | 2006-06-28 00:11:45 +0200 |
---|---|---|
committer | David Woodhouse <dwmw2@infradead.org> | 2006-06-27 23:24:09 +0100 |
commit | 6a93096195305f6f2a39544a034e77e2e74d5799 (patch) | |
tree | 06d9354fd539aaf581c7e57bfbd92160e6210dff /drivers | |
parent | 1887f517e3cdf5f1e9c0e4daaa864450415a8f61 (diff) | |
download | linux-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.c | 6 |
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; |