diff options
Diffstat (limited to 'drivers/mtd/ubi')
-rw-r--r-- | drivers/mtd/ubi/io.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/drivers/mtd/ubi/io.c b/drivers/mtd/ubi/io.c index 811775aa8ee8..668d24005106 100644 --- a/drivers/mtd/ubi/io.c +++ b/drivers/mtd/ubi/io.c | |||
@@ -507,11 +507,13 @@ static int nor_erase_prepare(struct ubi_device *ubi, int pnum) | |||
507 | * PEB. | 507 | * PEB. |
508 | */ | 508 | */ |
509 | err1 = ubi_io_read_vid_hdr(ubi, pnum, &vid_hdr, 0); | 509 | err1 = ubi_io_read_vid_hdr(ubi, pnum, &vid_hdr, 0); |
510 | if (err1 == UBI_IO_BAD_HDR_EBADMSG || err1 == UBI_IO_BAD_HDR) { | 510 | if (err1 == UBI_IO_BAD_HDR_EBADMSG || err1 == UBI_IO_BAD_HDR || |
511 | err1 == UBI_IO_FF) { | ||
511 | struct ubi_ec_hdr ec_hdr; | 512 | struct ubi_ec_hdr ec_hdr; |
512 | 513 | ||
513 | err1 = ubi_io_read_ec_hdr(ubi, pnum, &ec_hdr, 0); | 514 | err1 = ubi_io_read_ec_hdr(ubi, pnum, &ec_hdr, 0); |
514 | if (err1 == UBI_IO_BAD_HDR_EBADMSG || err1 == UBI_IO_BAD_HDR) | 515 | if (err1 == UBI_IO_BAD_HDR_EBADMSG || err1 == UBI_IO_BAD_HDR || |
516 | err1 == UBI_IO_FF) | ||
515 | /* | 517 | /* |
516 | * Both VID and EC headers are corrupted, so we can | 518 | * Both VID and EC headers are corrupted, so we can |
517 | * safely erase this PEB and not afraid that it will be | 519 | * safely erase this PEB and not afraid that it will be |