diff options
-rw-r--r-- | net/ipv4/fib_trie.c | 9 |
1 files changed, 3 insertions, 6 deletions
diff --git a/net/ipv4/fib_trie.c b/net/ipv4/fib_trie.c index 3df6d3edb2a1..45c74ba03970 100644 --- a/net/ipv4/fib_trie.c +++ b/net/ipv4/fib_trie.c | |||
@@ -762,12 +762,9 @@ static struct tnode *inflate(struct trie *t, struct tnode *tn) | |||
762 | 762 | ||
763 | if (IS_LEAF(node) || ((struct tnode *) node)->pos > | 763 | if (IS_LEAF(node) || ((struct tnode *) node)->pos > |
764 | tn->pos + tn->bits - 1) { | 764 | tn->pos + tn->bits - 1) { |
765 | if (tkey_extract_bits(node->key, | 765 | put_child(tn, |
766 | oldtnode->pos + oldtnode->bits, | 766 | tkey_extract_bits(node->key, oldtnode->pos, oldtnode->bits + 1), |
767 | 1) == 0) | 767 | node); |
768 | put_child(tn, 2*i, node); | ||
769 | else | ||
770 | put_child(tn, 2*i+1, node); | ||
771 | continue; | 768 | continue; |
772 | } | 769 | } |
773 | 770 | ||