[PATCH v2] mtd: spinand: Add support for XTX XT26G0xA
Felix Matouschek
felix at matouschek.org
Mon Apr 11 12:53:06 PDT 2022
Hi Miquel,
Am 11.04.22 um 09:23 schrieb Miquel Raynal:
>> +static int xt26g0xa_ecc_get_status(struct spinand_device *spinand,
>> + u8 status)
>> +{
>> + switch (status & XT26G0XA_STATUS_ECC_MASK) {
>> + case XT26G0XA_STATUS_ECC_NO_DETECTED:
>> + return 0;
>> + case XT26G0XA_STATUS_ECC_8_CORRECTED:
>> + return 8;
>> + case XT26G0XA_STATUS_ECC_UNCOR_ERROR:
>> + return -EBADMSG;
>> + default: /* (1 << 2) through (7 << 2) are 1-7 corrected errors */
>> + return (status & XT26G0XA_STATUS_ECC_MASK) >> 2;
>> + }
>> +
>> + return -EINVAL;
>
> You'll never end here, right? Perhaps there are values that you cannot
> handle correctly in the switch and you should add a bit more logic to
> return -EINVAL if something is wrong? Otherwise you will return 0
> above, which might be correct (I'll let you verify but in this
> case the final "return -EINVAL" seems useless.
According to the data-sheet (section 7, page 27) the switch should be
able to handle all values of the status register. So should I remove the
final "return -EINVAL"?
Thank you,
Felix
More information about the linux-mtd
mailing list