Merge branch 'for-linus' of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394...
[linux-drm-fsl-dcu.git] / lib / rbtree.c
index 4a7173cad149e27e70ea346c4173f40f84ff8bb3..48499c2d88ccf16d65c8891e3fc5a23e8cdf283a 100644 (file)
@@ -170,7 +170,7 @@ static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
                                        __rb_rotate_right(other, root);
                                        other = parent->rb_right;
                                }
-                               rb_set_colour(other, rb_colour(parent));
+                               rb_set_color(other, rb_color(parent));
                                rb_set_black(parent);
                                if (other->rb_right)
                                        rb_set_black(other->rb_right);
@@ -207,7 +207,7 @@ static void __rb_erase_color(struct rb_node *node, struct rb_node *parent,
                                        __rb_rotate_left(other, root);
                                        other = parent->rb_left;
                                }
-                               rb_set_colour(other, rb_colour(parent));
+                               rb_set_color(other, rb_color(parent));
                                rb_set_black(parent);
                                if (other->rb_left)
                                        rb_set_black(other->rb_left);
@@ -239,7 +239,7 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
                        node = left;
                child = node->rb_right;
                parent = rb_parent(node);
-               color = rb_colour(node);
+               color = rb_color(node);
 
                if (child)
                        rb_set_parent(child, parent);
@@ -249,7 +249,7 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
                } else
                        parent->rb_left = child;
 
-               node->rb_parent_colour = old->rb_parent_colour;
+               node->rb_parent_color = old->rb_parent_color;
                node->rb_right = old->rb_right;
                node->rb_left = old->rb_left;
 
@@ -269,7 +269,7 @@ void rb_erase(struct rb_node *node, struct rb_root *root)
        }
 
        parent = rb_parent(node);
-       color = rb_colour(node);
+       color = rb_color(node);
 
        if (child)
                rb_set_parent(child, parent);
@@ -322,6 +322,9 @@ struct rb_node *rb_next(struct rb_node *node)
 {
        struct rb_node *parent;
 
+       if (rb_parent(node) == node)
+               return NULL;
+
        /* If we have a right-hand child, go down and then left as far
           as we can. */
        if (node->rb_right) {
@@ -348,6 +351,9 @@ struct rb_node *rb_prev(struct rb_node *node)
 {
        struct rb_node *parent;
 
+       if (rb_parent(node) == node)
+               return NULL;
+
        /* If we have a left-hand child, go down and then right as far
           as we can. */
        if (node->rb_left) {