]> git.proxmox.com Git - mirror_ubuntu-kernels.git/commitdiff
UBI: improve ECC error message
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Tue, 8 Jun 2010 07:59:07 +0000 (10:59 +0300)
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>
Fri, 11 Jun 2010 14:23:37 +0000 (17:23 +0300)
ECC errors are quite typical errors on NAND, so it is worth improving
the UBI message and print something like

ubi_io_read: error -74 (ECC error) while reading 4096 bytes from PEB 1:4 ...

rather than

ubi_io_read: error -74 while reading 4096 bytes from PEB 1:4 ...

Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
drivers/mtd/ubi/io.c

index b812f88053675b1c0928dd2070b236624df1baff..ffb2303395587c90ed08657fa06a31989659f112 100644 (file)
@@ -150,6 +150,8 @@ int ubi_io_read(const struct ubi_device *ubi, void *buf, int pnum, int offset,
 retry:
        err = ubi->mtd->read(ubi->mtd, addr, len, &read, buf);
        if (err) {
+               const char errstr = (err == -EBADMSG) ? "ECC error" : "";
+
                if (err == -EUCLEAN) {
                        /*
                         * -EUCLEAN is reported if there was a bit-flip which
@@ -165,15 +167,15 @@ retry:
                }
 
                if (read != len && retries++ < UBI_IO_RETRIES) {
-                       dbg_io("error %d while reading %d bytes from PEB %d:%d,"
+                       dbg_io("error %d%s while reading %d bytes from PEB %d:%d,"
                               " read only %zd bytes, retry",
-                              err, len, pnum, offset, read);
+                              err, errstr, len, pnum, offset, read);
                        yield();
                        goto retry;
                }
 
                ubi_err("error %d while reading %d bytes from PEB %d:%d, "
-                       "read %zd bytes", err, len, pnum, offset, read);
+                       "read %zd bytes", err, errstr, len, pnum, offset, read);
                ubi_dbg_dump_stack();
 
                /*