Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 3f08b8ba authored by Anup Patel's avatar Anup Patel Committed by Brian Norris
Browse files

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: default avatarAnup Patel <anup.patel@broadcom.com>
Reviewed-by: default avatarVikram Prakash <vikramp@broadcom.com>
Reviewed-by: default avatarRay Jui <rjui@broadcom.com>
Reviewed-by: default avatarScott Branden <sbranden@broadcom.com>
Signed-off-by: default avatarBrian Norris <computersforpeace@gmail.com>
parent 06968a54
Loading
Loading
Loading
Loading
+2 −2
Original line number Original line Diff line number Diff line
@@ -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);
	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);
		dev_warn(ctrl->dev, "unaligned buffer: %p\n", buf);
		buf = (u32 *)((u32)buf & ~0x03);
		buf = (u32 *)((unsigned long)buf & ~0x03);
	}
	}


	brcmnand_wp(mtd, 0);
	brcmnand_wp(mtd, 0);