]> err.no Git - linux-2.6/blobdiff - lib/radix-tree.c
[SCSI] sas_ata: sas_ata_qc_issue should return AC_ERR_*
[linux-2.6] / lib / radix-tree.c
index e2cefabb5aa0de2c4938e63f56e7bc456069425c..9927cca14cb70fd0d65a9ca63c297258dfebdc87 100644 (file)
@@ -151,6 +151,7 @@ int radix_tree_preload(gfp_t gfp_mask)
 out:
        return ret;
 }
+EXPORT_SYMBOL(radix_tree_preload);
 
 static inline void tag_set(struct radix_tree_node *node, unsigned int tag,
                int offset)
@@ -996,7 +997,6 @@ static __init void radix_tree_init_maxindex(void)
                height_to_maxindex[i] = __maxindex(i);
 }
 
-#ifdef CONFIG_HOTPLUG_CPU
 static int radix_tree_callback(struct notifier_block *nfb,
                             unsigned long action,
                             void *hcpu)
@@ -1005,7 +1005,7 @@ static int radix_tree_callback(struct notifier_block *nfb,
        struct radix_tree_preload *rtp;
 
        /* Free per-cpu pool of perloaded nodes */
-       if (action == CPU_DEAD) {
+       if (action == CPU_DEAD || action == CPU_DEAD_FROZEN) {
                rtp = &per_cpu(radix_tree_preloads, cpu);
                while (rtp->nr) {
                        kmem_cache_free(radix_tree_node_cachep,
@@ -1016,7 +1016,6 @@ static int radix_tree_callback(struct notifier_block *nfb,
        }
        return NOTIFY_OK;
 }
-#endif /* CONFIG_HOTPLUG_CPU */
 
 void __init radix_tree_init(void)
 {