summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2010-10-05 15:14:35 +0200
committerThomas Gleixner <tglx@linutronix.de>2010-10-12 16:53:45 +0200
commitbaa0d233afe765daa6dc01ff233aea8c5944f534 (patch)
tree23b0793b6014b637680cddef4ccc4a2860cf6436
parenta05a900a51c7622ebd8ddb41f14f8bf9db599d8d (diff)
downloadlinux-stable-baa0d233afe765daa6dc01ff233aea8c5944f534.tar.gz
linux-stable-baa0d233afe765daa6dc01ff233aea8c5944f534.tar.bz2
linux-stable-baa0d233afe765daa6dc01ff233aea8c5944f534.zip
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>
-rw-r--r--kernel/irq/irqdesc.c5
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);
#ifdef CONFIG_SPARSE_IRQ
-static RADIX_TREE(irq_desc_tree, GFP_ATOMIC);
+static RADIX_TREE(irq_desc_tree, GFP_KERNEL);
static void irq_insert_desc(unsigned int irq, struct irq_desc *desc)
{
@@ -126,9 +126,8 @@ static inline void free_masks(struct irq_desc *desc) { }
static struct irq_desc *alloc_desc(int irq, int node)
{
- /* Temporary hack until we can switch to GFP_KERNEL */
- gfp_t gfp = gfp_allowed_mask == GFP_BOOT_MASK ? GFP_NOWAIT : GFP_ATOMIC;
struct irq_desc *desc;
+ gfp_t gfp = GFP_KERNEL;
desc = kzalloc_node(sizeof(*desc), gfp, node);
if (!desc)