linux_dsm_epyc7002/drivers/mtd/nand
Marco Felsch 8493b2a06f mtd: rawnand: micron: handle on-die "ECC-off" devices correctly
Some devices are not supposed to support on-die ECC but experience
shows that internal ECC machinery can actually be enabled through the
"SET FEATURE (EFh)" command, even if a read of the "READ ID Parameter
Tables" returns that it is not.

Currently, the driver checks the "READ ID Parameter" field directly
after having enabled the feature. If the check fails it returns
immediately but leaves the ECC on. When using buggy chips like
MT29F2G08ABAGA and MT29F2G08ABBGA, all future read/program cycles will
go through the on-die ECC, confusing the host controller which is
supposed to be the one handling correction.

To address this in a common way we need to turn off the on-die ECC
directly after reading the "READ ID Parameter" and before checking the
"ECC status".

Cc: stable@vger.kernel.org
Fixes: dbc44edbf8 ("mtd: rawnand: micron: Fix on-die ECC detection logic")
Signed-off-by: Marco Felsch <m.felsch@pengutronix.de>
Reviewed-by: Boris Brezillon <boris.brezillon@collabora.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
2019-08-03 02:00:01 +02:00
..
onenand This pull-request contains the following changes for MTD: 2019-07-13 15:42:44 -07:00
raw mtd: rawnand: micron: handle on-die "ECC-off" devices correctly 2019-08-03 02:00:01 +02:00
spi This pull-request contains the following changes for MTD: 2019-07-13 15:42:44 -07:00
bbt.c mtd: nand: Fix memory allocation in nanddev_bbt_init() 2018-11-28 15:41:50 +01:00
core.c mtd: nand: Add max_bad_eraseblocks_per_lun info to memorg 2019-04-08 10:21:08 +02:00
Kconfig treewide: Add SPDX license identifier - Makefile/Kconfig 2019-05-21 10:50:46 +02:00
Makefile mtd: nand: Add core infrastructure to support SPI NANDs 2018-07-18 09:24:10 +02:00