]> git.karo-electronics.de Git - mv-sheeva.git/blobdiff - lib/rbtree.c
p54: convert to new station add/remove callbacks
[mv-sheeva.git] / lib / rbtree.c
index 4b4b29b4577da1fa3c6a924b2072ec766b933901..e2aa3be29858cdcdd69bf4a43a67813db84079ee 100644 (file)
@@ -250,15 +250,15 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
                        if (child)
                                rb_set_parent(child, parent);
                        parent->rb_left = child;
+
+                       node->rb_right = old->rb_right;
+                       rb_set_parent(old->rb_right, node);
                }
 
                node->rb_parent_color = old->rb_parent_color;
-               node->rb_right = old->rb_right;
                node->rb_left = old->rb_left;
-
                rb_set_parent(old->rb_left, node);
-               if (old->rb_right)
-                       rb_set_parent(old->rb_right, node);
+
                goto color;
        }