diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2010-10-05 09:14:35 -0400 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2010-10-12 10:53:45 -0400 |
commit | baa0d233afe765daa6dc01ff233aea8c5944f534 (patch) | |
tree | 23b0793b6014b637680cddef4ccc4a2860cf6436 /kernel/irq/irqdesc.c | |
parent | a05a900a51c7622ebd8ddb41f14f8bf9db599d8d (diff) |
genirq: Switch sparse_irq allocator to GFP_KERNEL
The allocator functions are now called outside of preempt disabled
regions. Switch to GFP_KERNEL.
Signed-off-by: Thomas Gleixner <tglx@linutronix.de>
Reviewed-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq/irqdesc.c')
-rw-r--r-- | kernel/irq/irqdesc.c | 5 |
1 files changed, 2 insertions, 3 deletions
diff --git a/kernel/irq/irqdesc.c b/kernel/irq/irqdesc.c index 0e302f90d2ee..f6f660cef7af 100644 --- a/kernel/irq/irqdesc.c +++ b/kernel/irq/irqdesc.c | |||
@@ -95,7 +95,7 @@ static DECLARE_BITMAP(allocated_irqs, NR_IRQS); | |||
95 | 95 | ||
96 | #ifdef CONFIG_SPARSE_IRQ | 96 | #ifdef CONFIG_SPARSE_IRQ |
97 | 97 | ||
98 | static RADIX_TREE(irq_desc_tree, GFP_ATOMIC); | 98 | static RADIX_TREE(irq_desc_tree, GFP_KERNEL); |
99 | 99 | ||
100 | static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) | 100 | static void irq_insert_desc(unsigned int irq, struct irq_desc *desc) |
101 | { | 101 | { |
@@ -126,9 +126,8 @@ static inline void free_masks(struct irq_desc *desc) { } | |||
126 | 126 | ||
127 | static struct irq_desc *alloc_desc(int irq, int node) | 127 | static struct irq_desc *alloc_desc(int irq, int node) |
128 | { | 128 | { |
129 | /* Temporary hack until we can switch to GFP_KERNEL */ | ||
130 | gfp_t gfp = gfp_allowed_mask == GFP_BOOT_MASK ? GFP_NOWAIT : GFP_ATOMIC; | ||
131 | struct irq_desc *desc; | 129 | struct irq_desc *desc; |
130 | gfp_t gfp = GFP_KERNEL; | ||
132 | 131 | ||
133 | desc = kzalloc_node(sizeof(*desc), gfp, node); | 132 | desc = kzalloc_node(sizeof(*desc), gfp, node); |
134 | if (!desc) | 133 | if (!desc) |