Patform: 814x or 816x
The omap2 NAND kernel driver does not pass the MTD test suite because NAND sub-page support is broken in the driver. This causes errors with UBI/UBIFS.
Steps to reproduce the problem:
1) Configure a linux kernel with CONFIG_MTD_TESTS=m
(Device drivers -> Memory Technology Devices (MTD) support -> MTD tests support)
2) Build and deploy kernel and modules to a 814x EVM or a 816x EVM board.
3) On the board, run the following command (as root)
NOTE: this module will work on a MTD partition. You need to supply a MTD partition number with the dev= module option which will be used for sup-page testing.
modprobe mtd_subpagetest.ko dev=5
The tests will start right after the module has been loaded. So after the module has been loaded, check the kernel message buffer for error messages by running dmesg on the command line:
dmesg
mtd_subpagetest: MTD device: 5
mtd_subpagetest: MTD device size 36700160, eraseblock size 131072, page size 2048, subpage size 512, count of eraseblocks 0, pages per eraseblock 0, OOB size 64
mtd_subpagetest: scanning for bad eraseblocks
mtd_subpagetest: scanned 280 eraseblocks, 0 are bad
mtd_subpagetest: erasing whole device
[...]
mtd_subpagetest: erased 280 eraseblocks
mtd_subpagetest: writing whole device
mtd_subpagetest: written up to eraseblock 0
mtd_subpagetest: written up to eraseblock 256
mtd_subpagetest: written 280 eraseblocks
mtd_subpagetest: verifying all eraseblocks
UNCORRECTED_ERROR default
ECC UNCORRECTED_ERROR B
mtd_subpagetest: error: read failed at 0x0
mtd_subpagetest: error -74 occurred