Diskonchip regression

Alexander Shiyan
2013-03-04T09:34:02Z

Hello All.

I want to inform about diskonchip regression.
Mounting diskonchip partition now failed due "mtd: nand: kill NAND_NO_READRDY" commit.

Bug produce infinite error messages in the console, like this:
# mount /dev/mtdblock5 /mnt/bbox -t jffs2 -o rw
# jffs2: notice: (45) check_node_data: wrong data CRC in data node at 0x00f14f98: read 0xa0fcbcc1, calculated 0xc30e1a36.
jffs2: mtd->read(0x567 bytes from 0xf14a00) returned ECC error
jffs2: notice: (45) check_node_data: wrong data CRC in data node at 0x00f14924: read 0x73ba55cc, calculated 0x12ecdd4b.
jffs2: mtd->read(0x724 bytes from 0xf14200) returned ECC error
...

I found point to bug using "git bisect":
shc@shc /home/git/linux-next $ git bisect log
git bisect start
# bad: [29594404d7fe73cd80eaa4ee8c43dcc53970c60e] Linux 3.7
git bisect bad 29594404d7fe73cd80eaa4ee8c43dcc53970c60e
# good: [a0d271cbfed1dd50278c6b06bead3d00ba0a88f9] Linux 3.6
git bisect good a0d271cbfed1dd50278c6b06bead3d00ba0a88f9
# good: [d66e6737d454553e1e62109d8298ede5351178a4] Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6
git bisect good d66e6737d454553e1e62109d8298ede5351178a4
# bad: [e1b28147f684af67bfac989756c27c19859d3d4e] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/s390/linux
git bisect bad e1b28147f684af67bfac989756c27c19859d3d4e
# good: [5e090ed7af10729a396a25df43d69a236e789736] Merge tag 'soc-late' of git://git.kernel.org/pub/scm/linux/kernel/git/arm/arm-soc
git bisect good 5e090ed7af10729a396a25df43d69a236e789736
# good: [0b173bc4daa8f8ec03a85abf5e47b23502ff80af] mm: kill vma flag VM_CAN_NONLINEAR
git bisect good 0b173bc4daa8f8ec03a85abf5e47b23502ff80af
# good: [72055425e53540d9d0e59a57ac8c9b8ce77b62d5] Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/mason/linux-btrfs
git bisect good 72055425e53540d9d0e59a57ac8c9b8ce77b62d5
# bad: [10f39f04b2cb7a06ba5d4ea0f20bd156d0367bee] Merge tag 'for-linus-20121009' of git://git.infradead.org/mtd-2.6
git bisect bad 10f39f04b2cb7a06ba5d4ea0f20bd156d0367bee
# bad: [b05a1187bbf35035300313987cbd22e362d71dc6] mtd: allow uclinux map driver to be used on any ColdFire CPU platform
git bisect bad b05a1187bbf35035300313987cbd22e362d71dc6
# bad: [d5842ab730d368ae2e8925dc00aec0ca132b72ab] mtd: lpc32xx_slc: Make probe() return -EPROBE_DEFER if necessary
git bisect bad d5842ab730d368ae2e8925dc00aec0ca132b72ab
# bad: [71885b650ab0fd9d2d35cd922bf949c07c171b04] mtd: mxc_nand: swap iomem resource order
git bisect bad 71885b650ab0fd9d2d35cd922bf949c07c171b04
# good: [623c55caa37203ece6b4450daa0d2d058255da30] mtd: sh_flctl: Group sector accesses into a single transfer
git bisect good 623c55caa37203ece6b4450daa0d2d058255da30
# good: [63d99c0e89039e1509209d36ee17fc374fd112c9] mtd: nand: remove NAND_BBT_SEARCH option
git bisect good 63d99c0e89039e1509209d36ee17fc374fd112c9
# bad: [9d6367f4f7835131b2b3987d134fd4c44636fa8d] mtd: add JEDEC ID for w25q32dw to chip table
git bisect bad 9d6367f4f7835131b2b3987d134fd4c44636fa8d
# bad: [3d059693f6e0489066a98f455601137fa003df77] nand: mxc_nand: Use clk_prepare_enable/clk_disable_unprepare
git bisect bad 3d059693f6e0489066a98f455601137fa003df77
shc@shc /home/git/linux-next $ git bisect bad
1696e6bc2ae83734e64e206ac99766ea19e9a14e is the first bad commit
commit 1696e6bc2ae83734e64e206ac99766ea19e9a14e
Author: Brian Norris <computersforpeace@gmail.com>
Date: Tue May 22 23:50:00 2012 -0700

mtd: nand: kill NAND_NO_READRDY

According to its documentation, the NAND_NO_READRDY option is always used
when autoincrement is not supported. Autoincrement support was recently
dropped, so we can drop this options as well (defaulting to "no read ready
check").

Signed-off-by: Brian Norris <computersforpeace@gmail.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: David Woodhouse <David.Woodhouse@intel.com>

:040000 040000 5bf782761ebf2573393a9900b18f18901855be90 9633fd4d5e881a7d504c3f55656857f0f8d64052 M drivers
:040000 040000 d8bdeae25e074d3cc915321e0612d666bf692e0a d9de9de1e651791832265d9492f7e794d377d948 M include

So, should we revert this commit or find another solution?
Thanks.
---