diff --git a/drivers/mtd/nand/nand_ecc.c b/drivers/mtd/nand/nand_ecc.c index
868147a..6b19058 100644
--- a/drivers/mtd/nand/nand_ecc.c
+++ b/drivers/mtd/nand/nand_ecc.c
@@ -429,7 +429,8 @@ int nand_correct_data(struct mtd_info *mtd, unsigned char
*buf,
 		      unsigned char *read_ecc, unsigned char *calc_ecc)
 {
 	unsigned char b0, b1, b2;
-	unsigned char byte_addr, bit_addr;
+	uint32_t byte_addr;
+	unsigned char bit_addr;
 	/* 256 or 512 bytes/ecc  */
 	const uint32_t eccsize_mult =
