Skip to content

Commit e6b0922

Browse files
libang-linuxermiquelraynal
authored andcommitted
mtdblock: tolerate corrected bit-flips
mtd_read() may return -EUCLEAN in case of corrected bit-flips.This particular condition should not be treated like an error. Signed-off-by: Bang Li <libang.linuxer@gmail.com> Signed-off-by: Miquel Raynal <miquel.raynal@bootlin.com> Link: https://lore.kernel.org/linux-mtd/20230314165653.252673-1-libang.linuxer@gmail.com
1 parent 57150c4 commit e6b0922

1 file changed

Lines changed: 3 additions & 1 deletion

File tree

drivers/mtd/mtdblock_ro.c

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,10 @@ static int mtdblock_readsect(struct mtd_blktrans_dev *dev,
1616
unsigned long block, char *buf)
1717
{
1818
size_t retlen;
19+
int err;
1920

20-
if (mtd_read(dev->mtd, (block * 512), 512, &retlen, buf))
21+
err = mtd_read(dev->mtd, (block * 512), 512, &retlen, buf);
22+
if (err && !mtd_is_bitflip(err))
2123
return 1;
2224
return 0;
2325
}

0 commit comments

Comments
 (0)