[openwrt/openwrt] kernel: mtk-bmt: fix usage of _oob_read

LEDE Commits lede-commits at lists.infradead.org
Wed Jan 25 07:46:06 PST 2023


981213 pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/1f32774dedf192026fd2d35902537f02f0ee4075

commit 1f32774dedf192026fd2d35902537f02f0ee4075
Author: Chuanhong Guo <gch981213 at gmail.com>
AuthorDate: Sat Jan 21 10:47:59 2023 +0800

    kernel: mtk-bmt: fix usage of _oob_read
    
    _oob_read returns number of bitflips on success while
    bbt_nand_read should return 0.
    
    Fixes: 2d49e49b18 ("mediatek: bmt: use generic mtd api")
    Signed-off-by: Chuanhong Guo <gch981213 at gmail.com>
    (cherry picked from commit f183ce35b8ea2fd991ac489fb223b09a1ecb4db0)
---
 target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h | 10 ++++++++--
 1 file changed, 8 insertions(+), 2 deletions(-)

diff --git a/target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h b/target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h
index dff1f28c81..517ff7414f 100644
--- a/target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h
+++ b/target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h
@@ -95,8 +95,14 @@ bbt_nand_read(u32 page, unsigned char *dat, int dat_len,
 		.datbuf = dat,
 		.len = dat_len,
 	};
-
-	return bmtd._read_oob(bmtd.mtd, page << bmtd.pg_shift, &ops);
+	int ret;
+
+	ret = bmtd._read_oob(bmtd.mtd, page << bmtd.pg_shift, &ops);
+	if (ret < 0)
+		return ret;
+	if (ret)
+		pr_info("%s: %d bitflips\n", __func__, ret);
+	return 0;
 }
 
 static inline int bbt_nand_erase(u16 block)




More information about the lede-commits mailing list