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
This commit is contained in:
parent
57150c40b6
commit
e6b0922a9c
|
@ -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;
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue