[PATCH] cfi: Fixup of write errors on XIP

Alexey, Korolev alexey.korolev at intel.com
Tue Mar 21 09:26:47 EST 2006


Hi,

>
> I'm back, sorry for the delay.
>
I'm sorry too. I just returned from vacations.

> But the thing is, if you look at get_chip(), you'll see that nothing can
> go and erase another flash sector when a write is suspended.  In other
> words, completion of a write operation always has priority on any erase
> attempt.  So the problem you're describing may not be due to any erase
> delay occurring in another thread.
>
Oh. Seems if XIP while write is happened get chip will not allow to erase?

> The only possibility I can see is that xip_udelay() is interrupted so
> often that the UDELAY(map, chip, cmd_adr, 1) call never gets a chance to
> make any progress, even in the course of a half second wall clock time.
>
> Do you have a high interrupt rate in your system?
>
Iterrupt rate is not high. It's about one per 10ms. I'm going to make 
some more investigations.
I would be happy to hear your suggestions.

Thanks a lot,
Alexey




More information about the linux-mtd mailing list