nand: zynq: Fix driver initialization
authorEzequiel Garcia <ezequiel@vanguardiasur.com.ar>
Fri, 12 Jan 2018 18:30:55 +0000 (15:30 -0300)
committerMichal Simek <michal.simek@xilinx.com>
Mon, 23 Apr 2018 11:15:27 +0000 (13:15 +0200)
commit07c5cbbd1e6573e169687da873db37503a1f8b60
tree8150950c1b09f460d60df353b2e5e58f0295dfdc
parent275d80a4c2fb63890f3f4c16b7ad481064e650a0
nand: zynq: Fix driver initialization

This driver is currently broken, refusing to initialize properly.

The reason is that get_nand_dev_by_index() was being called before
nand_register(), thus returning a pointer into uninitialized memory.
In other words, the struct mtd_info used by the driver is total junk.

Fix it by getting the correct struct mtd_info, via nand_to_mtd()
on the driver's struct nand_chip.

Tested on a custom board, where the CPU is halted without this patch.

Signed-off-by: Ezequiel Garcia <ezequiel@vanguardiasur.com.ar>
Reviewed-by: Michal Simek <michal.simek@xilinx.com>
Signed-off-by: Michal Simek <michal.simek@xilinx.com>
drivers/mtd/nand/zynq_nand.c