[PATCH] Fixing the garbage collector problem after NAND-flash image record in u-boot

Scott Wood scottwood at freescale.com
Wed Nov 24 03:50:27 EST 2010


On Tue, 23 Nov 2010 16:10:54 +0100
<Sergej.Stepanov at ids.de> wrote:

> 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.
> The only activity on NAND-flash was the garbage collector process, that looks for CLEANMARKER-nodes
> 
> Signed-off-by: Sergej Stepanov <Sergej.Stepanov at ids.de>
> Cc: Rolf Riehle <Rolf.Riehle at ids.de>
> --

Acked-by: Scott Wood <scottwood at freescale.com>

> 
> diff --git a/drivers/mtd/nand/fsl_elbc_nand.c b/drivers/mtd/nand/fsl_elbc_nand.c
> index c141b07..775c2f5 100644
> --- a/drivers/mtd/nand/fsl_elbc_nand.c
> +++ b/drivers/mtd/nand/fsl_elbc_nand.c
> @@ -388,6 +388,7 @@ 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->use_mdr = 1;

This was broken by commit 3ab8f2a2e7011c5e83363b42950757e46ef06824

That commit also removed the setting of ctrl->oob to 0, which should
also be restored.

-Scott



More information about the Linuxppc-dev mailing list