[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