Re: [PATCH] mtd: nand: jz4780: Update ecc correction error codes

From: Boris Brezillon
Date: Fri Jan 08 2016 - 12:14:31 EST


On Fri, 8 Jan 2016 16:45:17 +0000
Harvey Hunt <harvey.hunt@xxxxxxxxxx> wrote:

> Update jz4780_bch_ecc_correct's return codes with appropriate values,
> as specified in /include/linux/mtd/nand.h.

Oh, nice catch.

Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>

Thanks,

Boris

>
> Signed-off-by: Harvey Hunt <harvey.hunt@xxxxxxxxxx>
> Cc: Alex Smith <alex@xxxxxxxxxxxxxxxx>
> Cc: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxxxxxxx>
> Cc: linux-kernel@xxxxxxxxxxxxxxx
> ---
> drivers/mtd/nand/jz4780_bch.c | 8 ++++----
> 1 file changed, 4 insertions(+), 4 deletions(-)
>
> diff --git a/drivers/mtd/nand/jz4780_bch.c b/drivers/mtd/nand/jz4780_bch.c
> index 5954fbf..755499c 100644
> --- a/drivers/mtd/nand/jz4780_bch.c
> +++ b/drivers/mtd/nand/jz4780_bch.c
> @@ -210,8 +210,8 @@ EXPORT_SYMBOL(jz4780_bch_calculate);
> * Given the raw data and the ECC read from the NAND device, detects and
> * corrects errors in the data.
> *
> - * Return: the number of bit errors corrected, or -1 if there are too many
> - * errors to correct or we timed out waiting for the controller.
> + * Return: the number of bit errors corrected, -EBADMSG if there are too many
> + * errors to correct or -ETIMEDOUT if we timed out waiting for the controller.
> */
> int jz4780_bch_correct(struct jz4780_bch *bch, struct jz4780_bch_params *params,
> u8 *buf, u8 *ecc_code)
> @@ -227,13 +227,13 @@ int jz4780_bch_correct(struct jz4780_bch *bch, struct jz4780_bch_params *params,
>
> if (!jz4780_bch_wait_complete(bch, BCH_BHINT_DECF, &reg)) {
> dev_err(bch->dev, "timed out while correcting data\n");
> - ret = -1;
> + ret = -ETIMEDOUT;
> goto out;
> }
>
> if (reg & BCH_BHINT_UNCOR) {
> dev_warn(bch->dev, "uncorrectable ECC error\n");
> - ret = -1;
> + ret = -EBADMSG;
> goto out;
> }
>



--
Boris Brezillon, Free Electrons
Embedded Linux and Kernel engineering
http://free-electrons.com