[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