[PATCH] nand: mxs: NO_SUBPAGE_WRITE flag was overwritten
Wolfram Sang
w.sang at pengutronix.de
Mon Dec 17 10:36:57 EST 2012
It is not the chip, but this controller which cannot do subpage writes.
So, make sure we add the flag at the proper place, so it doesn't get
overwritten by flash detection anymore.
Signed-off-by: Wolfram Sang <w.sang at pengutronix.de>
---
drivers/mtd/nand/nand_mxs.c | 12 +++++++++---
1 file changed, 9 insertions(+), 3 deletions(-)
diff --git a/drivers/mtd/nand/nand_mxs.c b/drivers/mtd/nand/nand_mxs.c
index c4509d3..bc34526 100644
--- a/drivers/mtd/nand/nand_mxs.c
+++ b/drivers/mtd/nand/nand_mxs.c
@@ -1217,7 +1217,6 @@ static int mxs_nand_probe(struct device_d *dev)
mtd->parent = dev;
nand->priv = nand_info;
- nand->options |= NAND_NO_SUBPAGE_WRITE;
nand->cmd_ctrl = mxs_nand_cmd_ctrl;
@@ -1241,8 +1240,15 @@ static int mxs_nand_probe(struct device_d *dev)
nand->ecc.bytes = 9;
nand->ecc.size = 512;
- /* Scan to find existence of the device */
- err = nand_scan(mtd, 1);
+ /* first scan to find the device and get the page size */
+ err = nand_scan_ident(mtd, 1);
+ if (err)
+ goto err2;
+
+ nand->options |= NAND_NO_SUBPAGE_WRITE;
+
+ /* second phase scan */
+ err = nand_scan_tail(mtd);
if (err)
goto err2;
--
1.7.10.4
More information about the barebox
mailing list