mirror of
https://github.com/brain-hackers/u-boot-brain
synced 2024-09-29 08:00:26 +09:00
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
@ -1025,7 +1025,7 @@ int zynq_nand_init(struct nand_chip *nand_chip, int devnum)
|
|||||||
}
|
}
|
||||||
|
|
||||||
xnand->nand_base = (void __iomem *)ZYNQ_NAND_BASEADDR;
|
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;
|
nand_chip->priv = xnand;
|
||||||
mtd->priv = nand_chip;
|
mtd->priv = nand_chip;
|
||||||
|
Loading…
Reference in New Issue
Block a user