Wolfgang Denk wrote: > Dear "Michele De Candia (VT)", > > In message <4a37f7bf.2090...@valueteam.com> you wrote: >>>> this patch fixes a bug for 'nand erase' command: when bad blocks are >>>> present into erasing area, they were skipped but the erased size was >>>> updated anyway. >>> And what exactly is the bug in this behaviour? >>> >> I think that 'erase' should have the same behaviour of 'write' and >> 'read' commands: skip bad blocks until read/write size is reached. If >> you write a script that erases and then writes a NAND area and bad >> blocks are not skipped while erasing (as U-Boot actually does), the >> following 'write' is successfully done but ECC checks fail on next read >> on the same area. > > I see - thanks for the explanation. > > Hm... actually I think the write should fail in such a case... > > Scott, what do you think?
I think the current behavior is reasonable. You're erasing a specific region of flash, not an amount needed to hold a certain amount of data. While I can see the appeal of Michele's suggestion, I think it would be more error-prone as people trying to erase a region rather than just the size of data could erase too much. It definitely should not be an error to erase a region that happens to contain a bad block. Bad blocks are expected and we need to work around them. -Scott _______________________________________________ U-Boot mailing list U-Boot@lists.denx.de http://lists.denx.de/mailman/listinfo/u-boot