lkml.org 
[lkml]   [2017]   [Sep]   [21]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    /
    From
    Date
    SubjectRe: [PATCH v2 5/9] mtd: nand: atmel: Report PMECC failures as errors
    2017-09-18 12:00 GMT+02:00 Boris Brezillon <boris.brezillon@free-electrons.com>:
    > Hi Romain,
    >
    > On Fri, 15 Sep 2017 16:04:07 +0200
    > Romain Izard <romain.izard.pro@gmail.com> wrote:
    >
    >> It is not normal for the PMECC to fail when trying to fix ECC errors.
    >> Report these cases as errors.
    >
    > I'm not sure we want to have ECC error messages at this level. ECC
    > errors are rather unusual but not impossible, and sometimes it's even
    > not a real error (I'm thinking of bitflips in erased pages for
    > example, which are not necessarily detected/fixed in hardware).
    >
    > If we decide to print error messages when unfixable bitflips are
    > detected, it should be done in the nand-controller driver (somewhere
    > along those lines [1]).
    >
    > Regards,
    >
    > Boris
    >
    > [1]http://elixir.free-electrons.com/linux/latest/source/drivers/mtd/nand/atmel/nand-controller.c#L827
    >
    >>
    >> Signed-off-by: Romain Izard <romain.izard.pro@gmail.com>
    >> ---
    >> drivers/mtd/nand/atmel/pmecc.c | 4 +++-
    >> 1 file changed, 3 insertions(+), 1 deletion(-)
    >>
    >> diff --git a/drivers/mtd/nand/atmel/pmecc.c b/drivers/mtd/nand/atmel/pmecc.c
    >> index 8d1208f38025..2a23f1ff945f 100644
    >> --- a/drivers/mtd/nand/atmel/pmecc.c
    >> +++ b/drivers/mtd/nand/atmel/pmecc.c
    >> @@ -687,6 +687,8 @@ static int atmel_pmecc_err_location(struct atmel_pmecc_user *user)
    >> * Number of roots does not match the degree of smu
    >> * unable to correct error.
    >> */
    >> + dev_err(pmecc->dev,
    >> + "PMECC: Impossible to calculate error location.\n");
    >> return -EBADMSG;
    >> }
    >>
    >> @@ -729,7 +731,7 @@ int atmel_pmecc_correct_sector(struct atmel_pmecc_user *user, int sector,
    >> ptr = ecc + byte - sectorsize;
    >> area = "ECC";
    >> } else {
    >> - dev_dbg(pmecc->dev,
    >> + dev_err(pmecc->dev,
    >> "Invalid errpos value (%d, max is %d)\n",
    >> errpos, (sectorsize + eccbytes) * 8);
    >> return -EINVAL;
    >

    Ok, I will drop this patch.

    \
     
     \ /
      Last update: 2017-09-21 19:29    [W:2.614 / U:0.120 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site