[U-Boot-Users] [PATCH] Fix NAND erase progress error

Hugo Villeneuve
2008-05-16T20:15:18Z

Scott Wood wrote:
> On Fri, May 16, 2008 at 02:39:17PM -0400, Hugo Villeneuve wrote:
>> This patch fixes an error when reporting the NAND erase progress as
>> in this example: U-Boot > nand erase 0000 800
>> NAND erase: device 0 offset 0x0, size 0x800
>> Erasing at 0x0 -- 6400% complete.
>
> So the problem is when trying to erase less than an erase block
> boundary?

The problem seems to be present if the requested erase size is not an
exact multiple of the block size.

> That should be an error.

What should be an error, the fact that 6400% is displayed, or the fact
that the user is trying to erase less than a block? :)

> The mtd-2.6.22.1 branch emits a warning and increases the length to
> be erased if it's less than one block, but that's still wrong as it
> won't deal with unaligned lengths that are greater than one
> blocksize, and more importantly because it's rather dangerous to
> erase more than was asked for without the user having the ability to
> stop it after the warning is printed.

Here are other examples:
---
U-Boot > nand erase 100000 00800
NAND erase: device 0 offset 0x100000, size 0x800
Erasing at 0x100000 -- 6400% complete.
OK

U-Boot > nand erase 100000 20000
NAND erase: device 0 offset 0x100000, size 0x20000
Erasing at 0x100000 -- 100% complete.
OK

U-Boot > nand erase 100000 40000
NAND erase: device 0 offset 0x100000, size 0x40000
Erasing at 0x120000 -- 100% complete.
OK

U-Boot > nand erase 100000 40800
NAND erase: device 0 offset 0x100000, size 0x40800
Erasing at 0x140000 -- 148% complete.
OK
---

Hugo Villeneuve
Hardware developer | Concepteur mat?riel
Lyrtech
Phone/T?l. : (1) (418) 877-4644 #2395
Toll-free/Sans frais - Canada & USA : (1) (888) 922-4644 #2395
Fax/T?l?c. : (1) (418) 877-7710
www.lyrtech.com
Infinite possibilities...TM

THIS MESSAGE AND ALL ATTACHED DOCUMENTS ARE EXCLUSIVELY INTENDED
TO THE INDICATED RECIPIENTS AND ITS CONTENTS MAY BE CONFIDENTIAL.
IT IS STRICTLY FORBIDDEN TO ANYONE TO TAKE COGNIZANCE, USE, OR
DIVULGE THE INFORMATION CONTAINED HEREIN. IF YOU MISTAKENLY
RECEIVE THIS MESSAGE, IMMEDIATELY INFORM LYRTECH AND DESTROY THE
MESSAGE AND ATTACHMENTS FORTHWITH.THANK YOU.

LE PRESENT MESSAGE ET LES DOCUMENTS QUI Y SONT JOINTS S'ADRESSENT
EXCLUSIVEMENT AU(X)DESTINATAIRE(S) INDIQUE(S) ET LEUR TENEUR PEUT
ETRE CONFIDENTIELLE. IL EST STRICTEMENT INTERDIT A QUICONQUE D'EN
PRENDRE CONNAISSANCE, DE LES UTILISER OU DE LES DIVULGUER. SI
VOUS RECEVEZ LE PRESENT MESSAGE PAR ERREUR, VEUILLEZ EN AVISER
LYRTECH IMMEDIATEMENT ET DETRUIRE LE MESSAGE SEANCE TENANTE,
AINSI QUE LES DOCUMENTS QUI Y SONT JOINTS.