Get error -74 (ECC error) during ubiattach

Richard Weinberger richard at nod.at
Sat Dec 20 02:12:54 PST 2014


Am 20.12.2014 um 11:05 schrieb Oleksij Rempel:
> Am 20.12.2014 um 11:02 schrieb Richard Weinberger:
>> Am 20.12.2014 um 11:00 schrieb Oleksij Rempel:
>>> Am 20.12.2014 um 10:27 schrieb Richard Weinberger:
>>>> Hi!
>>>>
>>>> Am 20.12.2014 um 04:43 schrieb t kevin:
>>>>> So for uncorrectable ECC error ( e.g., bad block) the only way out is
>>>>> to do a fresh ubiformat?
>>>>> For device like harddisk you get bad blocks all the time, if it is not
>>>>> in the critical sector things can be fixed as much as possible by fsck
>>>>> so I was looking for something like fsck.ubifs.
>>>>
>>>> An uncorrectable ECC error means that more bits flipped than your ECC
>>>> algorithm can fix.
>>>
>>> At same time uncorrectable ECC error mean, the page was erase and there
>>> is no ECC sum. Something should be written to create ECC.
>>
>> Which would be a driver bug and needs fixing.
> 
> No at all. If driver get request to erase page, it should do it and
> nothing more.
> There are use cases where erase means erase, and not erase + write ecc.

Raw mode is a different thing.

> It is not a driver bug!

If users on top of MTD read from an erased block it has to return 0xFF bytes and
not an ECC error.
IOW if mtd_erase() -> mtd_read() causes an ECC error with your driver it needs
fixing.

Thanks,
//richard



More information about the linux-mtd mailing list