ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB

Cardoen Pieter P.Cardoen at TELEVIC.com
Thu May 17 06:38:43 PDT 2018


Dear

I am currently trying to use the mainline kernel on a custom imx6ul board with an SLC NAND flash device (29F4G08ABADAH4). When the rootfs is mounted, I get continuously ECC errors (see log below).

I am however sure that the rootfs is programmed. The device boots with an older kernel version on the same device.

I also noticed that with my previous kernel version, it used mtd->_read in function mtd_read while now it is using mtd->_read_oob.

 When the gpmi driver is loaded, the device gets scanned for bad blocks. In that case nand_read_oob is executed and this results in a call to nand_do_read_oob:
 
    if (!ops->datbuf)
        ret = nand_do_read_oob(mtd, from, ops);
    else
        ret = nand_do_read_ops(mtd, from, ops);

Can someone assist me how to debug this issue?

Thanks
Pieter Cardoen


nand: device found, Manufacturer ID: 0x2c, Chip ID: 0xdc
nand: Micron MT29F4G08ABADAH4
nand: 512 MiB, SLC, erase size: 128 KiB, page size: 2048, OOB size: 64
gpmi-nand 1806000.gpmi-nand: enable the asynchronous EDO mode 5
Bad block table not found for chip 0
Bad block table not found for chip 0
Scanning device for bad blocks
Bad eraseblock 1692 at 0x00000d380000
Bad eraseblock 1694 at 0x00000d3c0000
Bad eraseblock 1696 at 0x00000d400000
Bad eraseblock 1698 at 0x00000d440000
Bad eraseblock 1700 at 0x00000d480000
Bad eraseblock 1702 at 0x00000d4c0000
Bad eraseblock 1704 at 0x00000d500000
Bad block table written to 0x00001ffe0000, version 0x01
Bad block table written to 0x00001ffc0000, version 0x01
1 cmdlinepart partitions found on MTD device gpmi-nand
Creating 1 MTD partitions on "gpmi-nand":
0x000000000000-0x000020000000 : "nandflash"
gpmi-nand 1806000.gpmi-nand: driver registered.
ubi0: attaching mtd0
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read only 64 bytes, retry
ubi0 error: 0xc02d66e8: error -74 (ECC error) while reading 64 bytes from PEB 0:0, read 64 bytes
CPU: 0 PID: 1 Comm: swapper Not tainted 4.15.0+ #65
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
Function entered at [<c010c0a0>] from [<c010a780>]
Function entered at [<c010a780>] from [<c02d66ec>]
Function entered at [<c02d66ec>] from [<c02d69e0>]
Function entered at [<c02d69e0>] from [<c02db408>]
Function entered at [<c02db408>] from [<c02dc8c0>]
Function entered at [<c02dc8c0>] from [<c02d114c>]
Function entered at [<c02d114c>] from [<c051c678>]
Function entered at [<c051c678>] from [<c01024bc>]
Function entered at [<c01024bc>] from [<c0500c70>]
Function entered at [<c0500c70>] from [<c0317958>]
Function entered at [<c0317958>] from [<c01010e8>]
Exception stack(0xdf04dfb0 to 0xdf04dff8)
dfa0:                                     00000000 00000000 00000000 00000000
dfc0: 00000000 00000000 00000000 00000000 00000000 00000000 00000000 00000000
dfe0: 00000000 00000000 00000000 00000000 00000013 00000000
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
ubi0 warning: 0xc02d6658: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read only 64 bytes, retry
ubi0 error: 0xc02d66e8: error -74 (ECC error) while reading 64 bytes from PEB 1:0, read 64 bytes
CPU: 0 PID: 1 Comm: swapper Not tainted 4.15.0+ #65
Hardware name: Freescale i.MX6 Ultralite (Device Tree)
Function entered at [<c010c0a0>] from [<c010a780>]
Function entered at [<c010a780>] from [<c02d66ec>]
Function entered at [<c02d66ec>] from [<c02d69e0>]
Function entered at [<c02d69e0>] from [<c02db408>]
Function entered at [<c02db408>] from [<c02dc8c0>]
Function entered at [<c02dc8c0>] from [<c02d114c>]
Function entered at [<c02d114c>] from [<c051c678>]
Function entered at [<c051c678>] from [<c01024bc>]
Function entered at [<c01024bc>] from [<c0500c70>]
Function entered at [<c0500c70>] from [<c0317958>]
Function entered at [<c0317958>] from [<c01010e8>]
Exception stack(0xdf04dfb0 to 0xdf04dff8)



More information about the linux-mtd mailing list