[PATCH] ubi: fix correct rb_tree node comparison in add_vol
Heiko Schocher
hs at denx.de
Tue Jun 24 00:25:18 PDT 2014
Commit 604b592e6fd3c98f21435e1181ba7723ffc24715 ("UBI: fix rb_tree node comparison in add_map")
introduced problems with attaching ubi fastmap images,
created with older kernel.
As in ubi_find_av() from attach.c is
[...]
if (vol_id > av->vol_id)
p = p->rb_left;
else
p = p->rb_right;
sync this logic also in add_vol() with this.
With this patch attaching older ubi images works again.
Signed-off-by: Heiko Schocher <hs at denx.de>
---
Cc: Artem Bityutskiy <artem.bityutskiy at linux.intel.com>
Cc: Richard Weinberger <richard at nod.at>
Cc: David Woodhouse <dwmw2 at infradead.org>
Cc: Brian Norris <computersforpeace at gmail.com>
Cc: Mike Snitzer <snitzer at redhat.com>
Cc: Wolfgang Denk <wd at denx.de>
Cc: linux-mtd at lists.infradead.org
Cc: linux-kernel at vger.kernel.org
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 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;
--
1.8.3.1
More information about the linux-mtd
mailing list