[PATCH 4/4] mtd: OneNAND: OMAP2: increase multiblock erase verify timeout

Tony Lindgren tony at atomide.com
Thu Feb 17 18:46:03 EST 2011


* Adrian Hunter <adrian.hunter at nokia.com> [110207 00:45]:
> From: Roman Tereshonkov <roman.tereshonkov at nokia.com>
> 
> The current multiblock erase verify read timeout 100us is the maximum
> for none-error case. If errors happen during multibock erase then
> the specification recommends to run multiblock erase verify command
> with maximum timeout 10ms (see specs. for KFM4G16Q2A and KFN8G16Q2A).
> 
> For the most common non-error case we wait 100us in udelay polling
> loop. In case of timeout the interrupt mode is used to wait for the
> command end.
> 
> Signed-off-by: Roman Tereshonkov <roman.tereshonkov at nokia.com>

I'll queue this series. Anybody from MTD list care to ack this patch?

Regards,

Tony

> ---
>  drivers/mtd/onenand/omap2.c |    8 +++-----
>  1 files changed, 3 insertions(+), 5 deletions(-)
> 
> diff --git a/drivers/mtd/onenand/omap2.c b/drivers/mtd/onenand/omap2.c
> index 3e1bb95..ec26399 100644
> --- a/drivers/mtd/onenand/omap2.c
> +++ b/drivers/mtd/onenand/omap2.c
> @@ -148,11 +148,9 @@ static int omap2_onenand_wait(struct mtd_info *mtd, int state)
>  			wait_err("controller error", state, ctrl, intr);
>  			return -EIO;
>  		}
> -		if ((intr & intr_flags) != intr_flags) {
> -			wait_err("timeout", state, ctrl, intr);
> -			return -EIO;
> -		}
> -		return 0;
> +		if ((intr & intr_flags) == intr_flags)
> +			return 0;
> +		/* Continue in wait for interrupt branch */
>  	}
>  
>  	if (state != FL_READING) {
> -- 
> 1.7.0.4
> 



More information about the linux-mtd mailing list