Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1304720 > unrolled thread

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

Started byHarvey Hunt <harvey.hunt@imgtec.com>
First post2016-01-08 17:50 +0100
Last post2016-01-08 18:50 +0100
Articles 3 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] mtd: nand: jz4780: Update ecc correction error codes Harvey Hunt <harvey.hunt@imgtec.com> - 2016-01-08 17:50 +0100
    Re: [PATCH] mtd: nand: jz4780: Update ecc correction error codes Boris Brezillon <boris.brezillon@free-electrons.com> - 2016-01-08 18:20 +0100
      Re: [PATCH] mtd: nand: jz4780: Update ecc correction error codes Brian Norris <computersforpeace@gmail.com> - 2016-01-08 18:50 +0100

#1304720 — [PATCH] mtd: nand: jz4780: Update ecc correction error codes

FromHarvey Hunt <harvey.hunt@imgtec.com>
Date2016-01-08 17:50 +0100
Subject[PATCH] mtd: nand: jz4780: Update ecc correction error codes
Message-ID<qOIoG-UX-7@gated-at.bofh.it>
Update jz4780_bch_ecc_correct's return codes with appropriate values,
as specified in /include/linux/mtd/nand.h.

Signed-off-by: Harvey Hunt <harvey.hunt@imgtec.com>
Cc: Alex Smith <alex@alex-smith.me.uk>
Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
Cc: linux-kernel@vger.kernel.org
---
 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;
 	}
 
-- 
2.6.4

[toc] | [next] | [standalone]


#1304740

FromBoris Brezillon <boris.brezillon@free-electrons.com>
Date2016-01-08 18:20 +0100
Message-ID<qOIRI-1oK-5@gated-at.bofh.it>
In reply to#1304720
On Fri, 8 Jan 2016 16:45:17 +0000
Harvey Hunt <harvey.hunt@imgtec.com> 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@free-electrons.com>

Thanks,

Boris

> 
> Signed-off-by: Harvey Hunt <harvey.hunt@imgtec.com>
> Cc: Alex Smith <alex@alex-smith.me.uk>
> Cc: Boris Brezillon <boris.brezillon@free-electrons.com>
> Cc: linux-kernel@vger.kernel.org
> ---
>  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

[toc] | [prev] | [next] | [standalone]


#1304767

FromBrian Norris <computersforpeace@gmail.com>
Date2016-01-08 18:50 +0100
Message-ID<qOJkL-1BX-31@gated-at.bofh.it>
In reply to#1304740
On Fri, Jan 08, 2016 at 06:14:22PM +0100, Boris Brezillon wrote:
> On Fri, 8 Jan 2016 16:45:17 +0000
> Harvey Hunt <harvey.hunt@imgtec.com> wrote:
> 
> > Update jz4780_bch_ecc_correct's return codes with appropriate values,
> > as specified in /include/linux/mtd/nand.h.
> 
> Oh, nice catch.

Agreed.

> Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>

Applied, thanks

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web