Commit e6b0922a authored by Bang Li's avatar Bang Li Committed by Miquel Raynal
Browse files

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: default avatarBang Li <libang.linuxer@gmail.com>
Signed-off-by: default avatarMiquel Raynal <miquel.raynal@bootlin.com>
Link: https://lore.kernel.org/linux-mtd/20230314165653.252673-1-libang.linuxer@gmail.com
parent 57150c40
Loading
Loading
Loading
Loading
+3 −1
Original line number Diff line number Diff line
@@ -16,8 +16,10 @@ static int mtdblock_readsect(struct mtd_blktrans_dev *dev,
			      unsigned long block, char *buf)
{
	size_t retlen;
	int err;

	if (mtd_read(dev->mtd, (block * 512), 512, &retlen, buf))
	err = mtd_read(dev->mtd, (block * 512), 512, &retlen, buf);
	if (err && !mtd_is_bitflip(err))
		return 1;
	return 0;
}