[PATCH v2] mtd: spinand: Add support for XTX XT26G0xA

Miquel Raynal miquel.raynal at bootlin.com
Mon Apr 11 13:03:10 PDT 2022


Hi Felix,

felix at matouschek.org wrote on Mon, 11 Apr 2022 21:53:06 +0200:

> 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"?

I think so, yes.

Thanks,
Miquèl



More information about the linux-mtd mailing list