From: Anup Patel Date: Fri, 2 Oct 2015 17:56:42 +0000 (+0530) Subject: mtd: brcmnand: Fix pointer type-cast in brcmnand_write() X-Git-Tag: KARO-TX6UL-2015-11-03~87^2~100 X-Git-Url: https://git.karo-electronics.de/?a=commitdiff_plain;h=3f08b8ba9f5d7ec528a9fc293e76a14c2851e403;p=karo-tx-linux.git mtd: brcmnand: Fix pointer type-cast in brcmnand_write() We should always type-cast pointer to "long" or "unsigned long" because size of pointer is same as machine word size. This will avoid pointer type-cast issues on both 32bit and 64bit systems. This patch fixes pointer type-cast issue in brcmnand_write() as-per above info. Signed-off-by: Anup Patel Reviewed-by: Vikram Prakash Reviewed-by: Ray Jui Reviewed-by: Scott Branden Signed-off-by: Brian Norris --- diff --git a/drivers/mtd/nand/brcmnand/brcmnand.c b/drivers/mtd/nand/brcmnand/brcmnand.c index 048e4e030fc8..ea319a4058b7 100644 --- a/drivers/mtd/nand/brcmnand/brcmnand.c +++ b/drivers/mtd/nand/brcmnand/brcmnand.c @@ -1544,9 +1544,9 @@ static int brcmnand_write(struct mtd_info *mtd, struct nand_chip *chip, dev_dbg(ctrl->dev, "write %llx <- %p\n", (unsigned long long)addr, buf); - if (unlikely((u32)buf & 0x03)) { + if (unlikely((unsigned long)buf & 0x03)) { dev_warn(ctrl->dev, "unaligned buffer: %p\n", buf); - buf = (u32 *)((u32)buf & ~0x03); + buf = (u32 *)((unsigned long)buf & ~0x03); } brcmnand_wp(mtd, 0);