mtd: nand: jz4780: Update ecc correction error codes
authorHarvey Hunt <harvey.hunt@imgtec.com>
Fri, 8 Jan 2016 16:45:17 +0000 (16:45 +0000)
committerBrian Norris <computersforpeace@gmail.com>
Fri, 8 Jan 2016 17:44:30 +0000 (09:44 -0800)
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
Reviewed-by: Boris Brezillon <boris.brezillon@free-electrons.com>
Signed-off-by: Brian Norris <computersforpeace@gmail.com>
drivers/mtd/nand/jz4780_bch.c

index 5954fbf..755499c 100644 (file)
@@ -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;
        }