mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems
authorWolfram Sang <w.sang@pengutronix.de>
Wed, 5 Dec 2012 20:46:02 +0000 (21:46 +0100)
committerBen Hutchings <ben@decadent.org.uk>
Thu, 3 Jan 2013 03:33:39 +0000 (03:33 +0000)
commit86d5031c943445a561eae9c827d610e58a3325fd
tree0322366b8e3bb879d6f036c0851bcca472f5c1bf
parent14f1aeda0684a4c0286065bd1a3a05906825ed32
mtd: nand: gpmi: reset BCH earlier, too, to avoid NAND startup problems

commit 6f2a6a52560ad8d85710aabd92b7a3239b3a6b07 upstream.

It could happen (1 out of 100 times) that NAND did not start up
correctly after warm rebooting, so the kernel could not find the UBI or
DMA timed out due to a stalled BCH. When resetting BCH together with
GPMI, the issue could not be observed anymore (after 10000+ reboots). We
probably need the consistent state already before sending any command to
NAND, even when no ECC is needed. I chose to keep the extra reset for
BCH when changing the flash layout to be on the safe side.

Signed-off-by: Wolfram Sang <w.sang@pengutronix.de>
Acked-by: Huang Shijie <b32955@freescale.com>
Signed-off-by: Artem Bityutskiy <artem.bityutskiy@linux.intel.com>
Signed-off-by: Ben Hutchings <ben@decadent.org.uk>
drivers/mtd/nand/gpmi-nand/gpmi-lib.c