On Tue, 2019-07-30 at 13:44:07 UTC, Marco Felsch wrote: > 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@xxxxxxxxxxxxxxx > Fixes: dbc44edbf833 ("mtd: rawnand: micron: Fix on-die ECC detection logic") > Signed-off-by: Marco Felsch <m.felsch@xxxxxxxxxxxxxx> > Reviewed-by: Boris Brezillon <boris.brezillon@xxxxxxxxxxxxx> Applied to https://git.kernel.org/pub/scm/linux/kernel/git/mtd/linux.git mtd/fixes, thanks. Miquel