[openwrt/openwrt] kernel: mtk_bmt: fix block copying on remap with bmt v2

LEDE Commits lede-commits at lists.infradead.org
Tue Oct 11 01:25:19 PDT 2022


nbd pushed a commit to openwrt/openwrt.git, branch openwrt-22.03:
https://git.openwrt.org/a78fd5bbb62bdb20d075b7ab42d3f09ca465d550

commit a78fd5bbb62bdb20d075b7ab42d3f09ca465d550
Author: Felix Fietkau <nbd at nbd.name>
AuthorDate: Wed Mar 9 16:04:39 2022 +0100

    kernel: mtk_bmt: fix block copying on remap with bmt v2
    
    Copy from the previously mapped block (in case it was remapped already)
    
    Signed-off-by: Felix Fietkau <nbd at nbd.name>
    (cherry-picked from commit 7d1e2be1605eda85e1a607a3d3ddefed1b961d3d)
---
 target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c | 12 ++++++------
 1 file changed, 6 insertions(+), 6 deletions(-)

diff --git a/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c b/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c
index f2dc05be2b..2770376e98 100644
--- a/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c
+++ b/target/linux/generic/files/drivers/mtd/nand/mtk_bmt_v2.c
@@ -285,21 +285,21 @@ error:
  */
 static bool remap_block_v2(u16 block, u16 mapped_block, int copy_len)
 {
-	u16 mapped_blk;
+	u16 new_block;
 	struct bbbt *bbt;
 
 	bbt = bmtd.bbt;
-	mapped_blk = find_valid_block_in_pool(bbt);
-	if (mapped_blk == 0)
+	new_block = find_valid_block_in_pool(bbt);
+	if (new_block == 0)
 		return false;
 
 	/* Map new bad block to available block in pool */
-	bbt->bb_tbl[block] = mapped_blk;
+	bbt->bb_tbl[block] = new_block;
 
 	/* Erase new block */
-	bbt_nand_erase(mapped_blk);
+	bbt_nand_erase(new_block);
 	if (copy_len > 0)
-		bbt_nand_copy(mapped_blk, block, copy_len);
+		bbt_nand_copy(new_block, mapped_block, copy_len);
 
 	bmtd.bmt_blk_idx = upload_bmt(bbt, bmtd.bmt_blk_idx);
 




More information about the lede-commits mailing list