mtd: rawnand: ifc: Move the ECC engine initialization to the right place
authorFabio Estevam <festevam@gmail.com>
Fri, 16 Oct 2020 13:26:26 +0000 (10:26 -0300)
committerMiquel Raynal <miquel.raynal@bootlin.com>
Mon, 26 Oct 2020 17:44:31 +0000 (18:44 +0100)
commit3aee8a3a88fa533b74fb75640ca23001358e5476
treebddd435b55a2666cc77f72c416877615b9b3af7f
parent1b8d1070857da3c11307b3130eb4b05bee7d521d
mtd: rawnand: ifc: Move the ECC engine initialization to the right place

No ECC initialization should happen during the host controller probe.

In fact, we need the probe function to call nand_scan() in order to:
- identify the device, its capabilities and constraints (nand_scan_ident())
- configure the ECC engine accordingly (->attach_chip())
- scan its content and prepare the core (nand_scan_tail())

Moving these lines to fsl_ifc_attach_chip() fixes a regression caused by
a previous commit supposed to clarify these steps.

Based on a fix done for the mxc_nand driver by Miquel Raynal.

Fixes: d7157ff49a5b ("mtd: rawnand: Use the ECC framework user input parsing bits")
Reported-by: Han Xu <xhnjupt@gmail.com>
Signed-off-by: Fabio Estevam <festevam@gmail.com>
Tested-by: Han Xu <xhnjupt@gmail.com>
Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20201016132626.30112-1-festevam@gmail.com
drivers/mtd/nand/raw/fsl_ifc_nand.c