--- zzzz-none-000/linux-3.10.107/drivers/mtd/nand/nuc900_nand.c 2017-06-27 09:49:32.000000000 +0000 +++ vr9-7490-729/linux-3.10.107/drivers/mtd/nand/nuc900_nand.c 2021-11-10 11:53:55.000000000 +0000 @@ -112,6 +112,22 @@ write_data_reg(nand, buf[i]); } +static int nuc900_verify_buf(struct mtd_info *mtd, + const unsigned char *buf, int len) +{ + int i; + struct nuc900_nand *nand; + + nand = container_of(mtd, struct nuc900_nand, mtd); + + for (i = 0; i < len; i++) { + if (buf[i] != read_data_reg(nand)) + return -EFAULT; + } + + return 0; +} + static int nuc900_check_rb(struct nuc900_nand *nand) { unsigned int val; @@ -267,6 +283,7 @@ chip->read_byte = nuc900_nand_read_byte; chip->write_buf = nuc900_nand_write_buf; chip->read_buf = nuc900_nand_read_buf; + chip->verify_buf = nuc900_verify_buf; chip->chip_delay = 50; chip->options = 0; chip->ecc.mode = NAND_ECC_SOFT;