mtd: pxa3xx_nand: Correct offset calculation

Correct some pointer math in initialization.  An offset was added
to a struct-typed pointer instead of one casted to a byte-size,
resulting in a much larger offset than intended.

Signed-off-by: Kevin Smith <kevin.smith@elecsyscorp.com>
Cc: Stefan Roese <sr@denx.de>
Cc: Luka Perkov <luka.perkov@sartura.hr>
Cc: Scott Wood <scottwood@freescale.com>
This commit is contained in:
Kevin Smith 2016-01-14 16:01:38 +00:00 committed by Scott Wood
parent b7d3e4a635
commit 84caff35df

View file

@ -1486,8 +1486,8 @@ static int alloc_nand_resource(struct pxa3xx_nand_info *info)
info->variant = pxa3xx_nand_get_variant(); info->variant = pxa3xx_nand_get_variant();
for (cs = 0; cs < pdata->num_cs; cs++) { for (cs = 0; cs < pdata->num_cs; cs++) {
mtd = &nand_info[cs]; mtd = &nand_info[cs];
chip = (struct nand_chip *)info + chip = (struct nand_chip *)
sizeof(struct pxa3xx_nand_host); ((u8 *)&info[1] + sizeof(*host) * cs);
host = (struct pxa3xx_nand_host *)chip; host = (struct pxa3xx_nand_host *)chip;
info->host[cs] = host; info->host[cs] = host;
host->mtd = mtd; host->mtd = mtd;