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>
This commit is contained in:
parent
275d80a4c2
commit
07c5cbbd1e
1 changed files with 1 additions and 1 deletions
|
@ -1025,7 +1025,7 @@ int zynq_nand_init(struct nand_chip *nand_chip, int devnum)
|
|||
}
|
||||
|
||||
xnand->nand_base = (void __iomem *)ZYNQ_NAND_BASEADDR;
|
||||
mtd = get_nand_dev_by_index(0);
|
||||
mtd = nand_to_mtd(nand_chip);
|
||||
|
||||
nand_chip->priv = xnand;
|
||||
mtd->priv = nand_chip;
|
||||
|
|
Loading…
Reference in a new issue