linux/drivers/mtd
Roger Quadros c994b95281 mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc()
commit 40ddbf5069 upstream.

commit 65b97cf6b8 introduced in v3.7 caused a regression
by using a reversed CS_MASK thus causing omap_calculate_ecc to
always fail. As the NAND base driver never checks for .calculate()'s
return value, the zeroed ECC values are used as is without showing
any error to the user. However, this won't work and the NAND device
won't be guarded by any error code.

Fix the issue by using the correct mask.

Code was tested on omap3beagle using the following procedure
- flash the primary bootloader (MLO) from the kernel to the first
NAND partition using nandwrite.
- boot the board from NAND. This utilizes OMAP ROM loader that
relies on 1-bit Hamming code ECC.

Fixes: 65b97cf6b8 (mtd: nand: omap2: handle nand on gpmc)

Signed-off-by: Roger Quadros <rogerq@ti.com>
Signed-off-by: Tony Lindgren <tony@atomide.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
History 2014-09-17 09:19:28 -07:00
..
chips mtd: jedec_probe: fix LH28F640BF definition 2013-08-05 21:04:17 +01:00
devices mtd: devices: elm: fix elm_context_save() and elm_context_restore() functions 2014-07-28 08:06:03 -07:00
lpddr mtd: lpddr: Mark functions as static and remove unused function 2014-01-03 11:22:26 -08:00
maps MTD updates for 3.14: 2014-01-28 18:56:37 -08:00
nand mtd: nand: omap: Fix 1-bit Hamming code scheme, omap_calculate_ecc() 2014-09-17 09:19:28 -07:00
onenand mtd: onenand: Trivial cleanup in samsung.h 2014-01-11 12:00:25 -08:00
tests mtd: tests: mtd_nandecctest: Use IS_ENABLED() macro 2014-01-03 11:22:21 -08:00
ubi UBI: fix some use after free bugs 2014-02-04 09:44:30 +02:00
afs.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ar7part.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
bcm47xxpart.c mtd: bcm47xxpart: alternative MAGIC for board_data partition 2014-01-07 10:07:37 -08:00
bcm63xxpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
cmdlinepart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
ftl.c mtd/ftl: fix the double free of the buffers allocated in build_maps() 2014-09-17 09:19:28 -07:00
inftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
inftlmount.c mtd: introduce mtd_block_markbad interface 2012-01-09 18:25:48 +00:00
Kconfig mtd: Hide CONFIG_MTD_BLKDEVS from the menu 2014-01-07 10:07:36 -08:00
Makefile mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtd_blkdevs.c block_device_operations->release() should return void 2013-05-07 02:16:21 -04:00
mtdblock.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdblock_ro.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdchar.c mtd: mtdchar: return expected errors on mmap() call 2013-11-11 11:18:15 -08:00
mtdconcat.c mtd: unify initialization of erase_info->fail_addr 2012-03-27 01:02:24 +01:00
mtdcore.c mtd: convert to use ATTRIBUTE_GROUPS 2014-01-03 11:22:21 -08:00
mtdcore.h mtd: merge mtdchar module with mtdcore 2013-04-05 13:16:54 +01:00
mtdoops.c mtdoops: don't erase flash at each boot 2012-11-15 15:37:51 +02:00
mtdpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
mtdsuper.c mtd: Move major number definitions to major.h 2013-11-06 23:32:59 -08:00
mtdswap.c mtd: mtdswap: replace strict_strtoul() with kstrtoul() 2013-08-30 21:52:51 +01:00
nftlcore.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00
nftlmount.c mtd: introduce mtd_block_markbad interface 2012-01-09 18:25:48 +00:00
ofpart.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
redboot.c mtd: make register_mtd_parser return void 2014-01-03 11:22:22 -08:00
rfd_ftl.c mtd: do not use mtd->sync directly 2012-01-09 18:26:21 +00:00
sm_ftl.c mtd: sm_ftl: heap corruption in sm_create_sysfs_attributes() 2014-05-13 13:32:55 +02:00
sm_ftl.h mtd: sm_ftl: cosmetic, use bool when possible 2010-10-25 01:33:08 +01:00
ssfdc.c mtd: nand: add a helper to detect the nand type 2013-10-27 16:27:06 -07:00