[U-Boot] [U-Boot, v2] mtd: nand: Fix address cycle problem with NAND_CMD_RNDOUT

Scott Wood scottwood at freescale.com
Fri Jun 20 02:38:57 CEST 2014


On Tue, May 06, 2014 at 11:15:35AM +0200, Stefan Roese wrote:
> diff --git a/drivers/mtd/nand/nand_base.c b/drivers/mtd/nand/nand_base.c
> index 1ce55fd..f11fce4 100644
> --- a/drivers/mtd/nand/nand_base.c
> +++ b/drivers/mtd/nand/nand_base.c
> @@ -674,7 +674,7 @@ static void nand_command_lp(struct mtd_info *mtd, unsigned int command,
>  			ctrl &= ~NAND_CTRL_CHANGE;
>  			chip->cmd_ctrl(mtd, column >> 8, ctrl);
>  		}
> -		if (page_addr != -1) {
> +		if (page_addr != -1 && command != NAND_CMD_RNDOUT) {
>  			chip->cmd_ctrl(mtd, page_addr, ctrl);
>  			chip->cmd_ctrl(mtd, page_addr >> 8,
>  				       NAND_NCE | NAND_ALE);

Where is this being called with NAND_CMD_RNDOUT and page_addr != -1, and
shouldn't the fix be to not do that?

Is there a corresponding Linux change?

-Scott


More information about the U-Boot mailing list