From: Brian Norris Date: Tue, 29 Sep 2015 21:11:56 +0000 (-0700) Subject: mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper X-Git-Tag: v4.13~4203^2~14 X-Git-Url: https://git.proxmox.com/?a=commitdiff_plain;h=48c25cf441182e629e52e7f9fa56c2019e75fb00;p=mirror_ubuntu-bionic-kernel.git mtd: nand: vf610_nfc: use nand_check_erased_ecc_chunk() helper Signed-off-by: Brian Norris Reviewed-by: Boris Brezillon --- diff --git a/drivers/mtd/nand/vf610_nfc.c b/drivers/mtd/nand/vf610_nfc.c index d275691dbb7c..8805d6325579 100644 --- a/drivers/mtd/nand/vf610_nfc.c +++ b/drivers/mtd/nand/vf610_nfc.c @@ -561,7 +561,6 @@ static inline int vf610_nfc_correct_data(struct mtd_info *mtd, uint8_t *dat, u32 ecc_status_off = NFC_MAIN_AREA(0) + ECC_SRAM_ADDR + ECC_STATUS; u8 ecc_status; u8 ecc_count; - int flips; int flips_threshold = nfc->chip.ecc.strength / 2; ecc_status = vf610_nfc_read(nfc, ecc_status_off) & 0xff; @@ -578,16 +577,9 @@ static inline int vf610_nfc_correct_data(struct mtd_info *mtd, uint8_t *dat, * On an erased page, bit count (including OOB) should be zero or * at least less then half of the ECC strength. */ - flips = count_written_bits(dat, nfc->chip.ecc.size, flips_threshold); - flips += count_written_bits(oob, mtd->oobsize, flips_threshold); - - if (unlikely(flips > flips_threshold)) - return -EINVAL; - - /* Erased page. */ - memset(dat, 0xff, nfc->chip.ecc.size); - memset(oob, 0xff, mtd->oobsize); - return flips; + return nand_check_erased_ecc_chunk(dat, nfc->chip.ecc.size, oob, + mtd->oobsize, NULL, 0, + flips_threshold); } static int vf610_nfc_read_page(struct mtd_info *mtd, struct nand_chip *chip,