summaryrefslogtreecommitdiff
path: root/lib/assoc_array.c
diff options
context:
space:
mode:
authorAlex Shi <alex.shi@linaro.org>2016-05-05 13:25:02 +0800
committerAlex Shi <alex.shi@linaro.org>2016-05-05 13:25:02 +0800
commit138f2c357e124fa8e676e6f27cc986c3ce320130 (patch)
treee0aca2935ad712a92f74025bbccac8583556e79d /lib/assoc_array.c
parent2bf7955152a0544342fcaed28930748cc68392ae (diff)
parent1a1a512b983108015ced1e7a7c7775cfeec42d8c (diff)
Merge remote-tracking branch 'lts/linux-4.4.y' into linux-linaro-lsk-v4.4
Conflicts: drivers/base/power/opp/core.c
Diffstat (limited to 'lib/assoc_array.c')
-rw-r--r--lib/assoc_array.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/lib/assoc_array.c b/lib/assoc_array.c
index 03dd576e6773..59fd7c0b119c 100644
--- a/lib/assoc_array.c
+++ b/lib/assoc_array.c
@@ -524,7 +524,9 @@ static bool assoc_array_insert_into_terminal_node(struct assoc_array_edit *edit,
free_slot = i;
continue;
}
- if (ops->compare_object(assoc_array_ptr_to_leaf(ptr), index_key)) {
+ if (assoc_array_ptr_is_leaf(ptr) &&
+ ops->compare_object(assoc_array_ptr_to_leaf(ptr),
+ index_key)) {
pr_devel("replace in slot %d\n", i);
edit->leaf_p = &node->slots[i];
edit->dead_leaf = node->slots[i];