X-Git-Url: https://git.karo-electronics.de/?a=blobdiff_plain;f=lib%2Fradix-tree.c;h=637d55608de55b463974afeb62eb704977426bbc;hb=9b4f2e9576658c4e52d95dc8d309f51b2e2db096;hp=35a2d93b3528f1cbcd1b81f205ba5521b61f8333;hpb=612d6c19db2fd0dc97b0fa370613ecd4a305ffc3;p=mv-sheeva.git diff --git a/lib/radix-tree.c b/lib/radix-tree.c index 35a2d93b352..637d55608de 100644 --- a/lib/radix-tree.c +++ b/lib/radix-tree.c @@ -33,7 +33,7 @@ #ifdef __KERNEL__ -#define RADIX_TREE_MAP_SHIFT 6 +#define RADIX_TREE_MAP_SHIFT (CONFIG_BASE_SMALL ? 4 : 6) #else #define RADIX_TREE_MAP_SHIFT 3 /* For more stressful testing */ #endif @@ -389,8 +389,7 @@ void *radix_tree_tag_set(struct radix_tree_root *root, struct radix_tree_node *slot; height = root->height; - if (index > radix_tree_maxindex(height)) - return NULL; + BUG_ON(index > radix_tree_maxindex(height)); slot = root->rnode; shift = (height - 1) * RADIX_TREE_MAP_SHIFT; @@ -531,7 +530,7 @@ int radix_tree_tag_get(struct radix_tree_root *root, int ret = tag_get(slot, tag, offset); BUG_ON(ret && saw_unset_tag); - return ret; + return !!ret; } slot = slot->slots[offset]; shift -= RADIX_TREE_MAP_SHIFT;