aboutsummaryrefslogtreecommitdiffstats
path: root/drivers/mtd/nand/fsl_elbc_nand.c
diff options
context:
space:
mode:
authorSergej.Stepanov@ids.de <Sergej.Stepanov@ids.de>2010-11-23 18:38:36 +0100
committerDavid Woodhouse <David.Woodhouse@intel.com>2010-12-03 16:34:24 +0000
commiteeda667a29698b9a4d16dce8979afc6f512f3c42 (patch)
tree6699d43767e73a4010ab74371e93b96e9757a187 /drivers/mtd/nand/fsl_elbc_nand.c
parenta7e93dcd9aacb3ef4acfcc4310577f3ae0741821 (diff)
downloadkernel_samsung_smdk4412-eeda667a29698b9a4d16dce8979afc6f512f3c42.zip
kernel_samsung_smdk4412-eeda667a29698b9a4d16dce8979afc6f512f3c42.tar.gz
kernel_samsung_smdk4412-eeda667a29698b9a4d16dce8979afc6f512f3c42.tar.bz2
mtd: fsl_elbc_nand: fix jffs2 problem after NAND-flash image record in u-boot
This patch should fix the following problem: 1. the jffs2-image update in the u-boot was ok 2. first restart and first mount of the NAND-flash-partition was also ok 3. before the restart of controller there are no any activity on NAND-flash except of the jffs2_gcd_mtdX-process ... 4. BUT after the second restart the NAND-flash-partition could not be really used after the second mount, dmesg filled with messages: ... jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x03ce0000: 0xc0ff instead jffs2_scan_eraseblock(): Magic bitmask 0x1985 not found at 0x03d00000: 0xc0ff instead .... Just for for info: the behaviour observed on mpc8313-based board with the large-page NAND. The only activity on NAND-flash was the garbage collector process, that looks for CLEANMARKER-nodes As Scott said it was broken by commit 3ab8f2a2e7011c5e83363b42950757e46ef06824 Signed-off-by: Sergej Stepanov <Sergej.Stepanov@ids.de> -- Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>
Diffstat (limited to 'drivers/mtd/nand/fsl_elbc_nand.c')
-rw-r--r--drivers/mtd/nand/fsl_elbc_nand.c2
1 files changed, 2 insertions, 0 deletions
diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
index c141b07..7a13d42 100644
--- a/drivers/mtd/nand/fsl_elbc_nand.c
+++ b/drivers/mtd/nand/fsl_elbc_nand.c
@@ -388,6 +388,8 @@ static void fsl_elbc_cmdfunc(struct mtd_info *mtd, unsigned int command,
"page_addr: 0x%x, column: 0x%x.\n",
page_addr, column);
+ elbc_fcm_ctrl->column = column;
+ elbc_fcm_ctrl->oob = 0;
elbc_fcm_ctrl->use_mdr = 1;
fcr = (NAND_CMD_STATUS << FCR_CMD1_SHIFT) |