aboutsummaryrefslogtreecommitdiffstats
path: root/target
diff options
context:
space:
mode:
authorChuanhong Guo <gch981213@gmail.com>2023-01-21 10:47:59 +0800
committerChuanhong Guo <gch981213@gmail.com>2023-01-25 23:45:14 +0800
commit1f32774dedf192026fd2d35902537f02f0ee4075 (patch)
tree594dc7e979720e5b5b9afb9d84d5ce78ff5ba9c6 /target
parent28e1770a3bd10014b082669e55af32d8de3f67fb (diff)
downloadupstream-1f32774dedf192026fd2d35902537f02f0ee4075.tar.gz
upstream-1f32774dedf192026fd2d35902537f02f0ee4075.tar.bz2
upstream-1f32774dedf192026fd2d35902537f02f0ee4075.zip
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@gmail.com> (cherry picked from commit f183ce35b8ea2fd991ac489fb223b09a1ecb4db0)
Diffstat (limited to 'target')
-rw-r--r--target/linux/generic/files/drivers/mtd/nand/mtk_bmt.h10
1 files 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)