UBI: fix rb_tree node comparison in add_map commit buggy?
Heiko Schocher
hs at denx.de
Mon Jun 23 06:05:13 PDT 2014
Hello Richard,
Am 23.06.2014 14:41, schrieb Richard Weinberger:
> Am 23.06.2014 13:04, schrieb Heiko Schocher:
>> I tried this patch also in the U-Boot code, without getting a ubifs
>> rootfs (burned with u-boot into the ubi volume) bootable in linux ...
>> which worked before... maybe v3.14 and v3.16-rc1 are not compatible?
>> Do anybody know from such problems?
>>
>> If I revert commit 604b592e6fd3c98f21435e1181ba7723ffc24715 in
>> Linux v3.16-rc1 only (so I have the same code in U-Boot at this
>> place), I can boot Linux with the ubifs based rootfs, and after
>> a reboot the U-Boot ubi attach time is short ... all works fine,
>> as I can see it ...
>>
>> If I make in U-Boot and Linux in following patch [1]:
>> $ git diff
>> diff --git a/drivers/mtd/ubi/fastmap.c b/drivers/mtd/ubi/fastmap.c
>> index b04e7d0..72f39da 100644
>> --- a/drivers/mtd/ubi/fastmap.c
>> +++ b/drivers/mtd/ubi/fastmap.c
>> @@ -125,7 +125,7 @@ static struct ubi_ainf_volume *add_vol(struct ubi_attach_info *ai, int vol_id,
>> parent = *p;
>> av = rb_entry(parent, struct ubi_ainf_volume, rb);
>>
>> - if (vol_id< av->vol_id)
>> + if (vol_id> av->vol_id)
>> p =&(*p)->rb_left;
>> else
>> p =&(*p)->rb_right;
>> $
>
> "Found" your patch. ;)
> Looks like I need new glasses.
;-)
> Yes, it looks correct as the logic is now balanced with the logic in ubi_find_av().
Ah, yes, right! So should I post a correct patch for this?
bye,
Heiko
--
DENX Software Engineering GmbH, MD: Wolfgang Denk & Detlev Zundel
HRB 165235 Munich, Office: Kirchenstr.5, D-82194 Groebenzell, Germany
More information about the linux-mtd
mailing list