Ivy,
There are many such issues in general with NAND driver of Davinci. But the general idea is that you've to use the same algorithm which is used for writing as well as reading. If you are writing using u-boot and reading from kernel, the ECC values and offsets in the spare area has to match.