From: Kevin Smith Date: Thu, 14 Jan 2016 16:01:38 +0000 (+0000) Subject: mtd: pxa3xx_nand: Correct offset calculation X-Git-Tag: v2016.03-rc2~29 X-Git-Url: https://git.librecmc.org/?a=commitdiff_plain;h=84caff35df0a399051171e4a05c6cbcadd919b64;p=oweals%2Fu-boot.git 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 Cc: Stefan Roese Cc: Luka Perkov Cc: Scott Wood --- diff --git a/drivers/mtd/nand/pxa3xx_nand.c b/drivers/mtd/nand/pxa3xx_nand.c index 9202459b0f..a83f6c2eff 100644 --- a/drivers/mtd/nand/pxa3xx_nand.c +++ b/drivers/mtd/nand/pxa3xx_nand.c @@ -1486,8 +1486,8 @@ static int alloc_nand_resource(struct pxa3xx_nand_info *info) info->variant = pxa3xx_nand_get_variant(); for (cs = 0; cs < pdata->num_cs; cs++) { mtd = &nand_info[cs]; - chip = (struct nand_chip *)info + - sizeof(struct pxa3xx_nand_host); + chip = (struct nand_chip *) + ((u8 *)&info[1] + sizeof(*host) * cs); host = (struct pxa3xx_nand_host *)chip; info->host[cs] = host; host->mtd = mtd;