[PATCH] mtd/ubi: recognize empty flash with errors as empty

Sebastian Andrzej Siewior sebastian at breakpoint.cc
Sun Apr 25 17:09:38 EDT 2010


* Artem Bityutskiy | 2010-04-24 14:24:01 [+0300]:

>Thanks, pushed to ubi-2.6.git / master with the following minor tweak,
>please check:
>
>diff --git a/drivers/mtd/ubi/scan.c b/drivers/mtd/ubi/scan.c
>index 7529d46..48e570c 100644
>--- a/drivers/mtd/ubi/scan.c
>+++ b/drivers/mtd/ubi/scan.c
>@@ -756,12 +756,12 @@ static int process_eb(struct ubi_device *ubi, struct ubi_scan_info *si,
>                bitflips = 1;
>        }
> 
>-       if (err != UBI_IO_BAD_EC_HDR)
>-               si->is_empty = 0;
>-
>        if (!ec_corr) {
>                int image_seq;
> 
>+               /* There is an EC header, so the flash is not empty */
>+               si->is_empty = 0;
>+
>                /* Make sure UBI version is OK */
>                if (ech->version != UBI_VERSION) {
>                        ubi_err("this UBI version is %d, image version is %d",
>

I guess that's okay. What are the chances that you can't read the EC
header but you can somehow read the VID header. AND if there is a valid
VID header then there is more, and si->is_empty will be set later on,
right?

Sebastian



More information about the linux-mtd mailing list