Erase race?

Jon Ringle jon at ringle.org
Tue Apr 13 16:15:40 EDT 2010


Hi,
I have a few machines that have UBI and UBIFS on NOR flash that are
undergoing continuous reboot testing.
One of them just caught the following failure:

[   51.250000] IXP4XX-Flash.0: buffer write error (status 0xd0)
[   51.250000] UBI error: ubi_io_write: error -22 while writing 64
bytes to PEB 226:0, written 0 bytes
[   51.270000] UBI error: erase_worker: failed to erase PEB 226, error -22
[   51.270000] UBI warning: ubi_ro_mode: switch to read-only mode
[   51.290000] UBI error: do_work: work failed with error code -22
[   51.290000] UBI error: ubi_thread: ubi_bgt0d: work failed with error code -22

Looking at this it appears that the failure might have been caused due
to the erase_worker and ubi_io_write occurring out of order... since
it looks like ubi_io_write was trying to write at offset 0 of the PEB,
which I imagine would have to be the EC header, which should happen
after the block is erased. But it doesn't seem to be the case here.

Jon



More information about the linux-mtd mailing list