[PATCH 1/2] UBI: Fix error path in scan_pool()

Richard Genoud richard.genoud at gmail.com
Thu Sep 26 03:33:01 EDT 2013


2013/9/26 Richard Weinberger <richard at nod.at>:
> Am 26.09.2013 09:20, schrieb Richard Genoud:
>> On 25/09/2013 22:32, Richard Weinberger wrote:
>>> We have to set "ret", not "err" in case of an error.
>>>
>>> Reported-by: Richard Genoud <richard.genoud at gmail.com>
>>> Signed-off-by: Richard Weinberger <richard at nod.at>
>>> ---
>>>  drivers/mtd/ubi/fastmap.c | 2 +-
>>>  1 file changed, 1 insertion(+), 1 deletion(-)
>>>
>>> diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
>>> index f5aa4b0..9b42add 100644
>>> --- a/drivers/mtd/ubi/fastmap.c
>>> +++ b/drivers/mtd/ubi/fastmap.c
>>> @@ -428,7 +428,7 @@ static int scan_pool(struct ubi_device *ubi, struct ubi_attach_info *ai,
>>>              if (be32_to_cpu(ech->image_seq) != ubi->image_seq) {
>>>                      ubi_err("bad image seq: 0x%x, expected: 0x%x",
>>>                              be32_to_cpu(ech->image_seq), ubi->image_seq);
>>> -                    err = UBI_BAD_FASTMAP;
>>> +                    ret = UBI_BAD_FASTMAP;
>>>                      goto out;
>>>              }
>>>
>>>
>>
>> Tested-by: Richard Genoud <richard.genoud at gmail.com>
>>
>> It reveals another bug though.
>>
>> [    0.812500] UBI: default fastmap pool size: 95
>> [    0.820312] UBI: default fastmap WL pool size: 25
>> [    0.820312] UBI: attaching mtd2 to ubi0
>> [    0.914062] UBI error: scan_pool: bad image seq: 0x0, expected: 0x352a9728
>
> This worries me more...
> The fastmap is corrupted, now we have to find out why.
> Broken driver? Powercut? IO errors?
I guess this is caused by u-boot when it deletes the UBI fastmap
internal volume.
I'm replaying the whole scenario with debug to see when it happens.

>
>> [    0.921875] UBI error: ubi_scan_fastmap: Attach by fastmap failed, doing a full scan!
>> [    0.929687] kmem_cache_destroy ubi_ainf_peb_slab: Slab cache still has objects
>
> I see.
>
> Thanks,
> //richard



-- 
for me, ck means con kolivas and not calvin klein... does it mean I'm a geek ?



More information about the linux-mtd mailing list