aboutsummaryrefslogtreecommitdiffstats
path: root/kernel/irq
diff options
context:
space:
mode:
authorJohannes Weiner <hannes@cmpxchg.org>2009-02-13 04:38:04 +0100
committerIngo Molnar <mingo@elte.hu>2009-02-13 10:52:07 +0100
commit0e43785c57fee50fbc00ea0378e941efb61fa0c2 (patch)
treef90ec1d34d987a48707fe455534f16b191702f8a /kernel/irq
parent74296a8ed6aa3c5bf672808ada690de7ba323ecc (diff)
downloadkernel_samsung_smdk4412-0e43785c57fee50fbc00ea0378e941efb61fa0c2.zip
kernel_samsung_smdk4412-0e43785c57fee50fbc00ea0378e941efb61fa0c2.tar.gz
kernel_samsung_smdk4412-0e43785c57fee50fbc00ea0378e941efb61fa0c2.tar.bz2
irq: use GFP_KERNEL for action allocation in request_irq()
request_irq() calls into proc code via __setup_irq() which is not safe in an atomic context, so request_irq() can itself use the more reliable GFP_KERNEL allocation for the action descriptor. Signed-off-by: Johannes Weiner <hannes@cmpxchg.org> Signed-off-by: Ingo Molnar <mingo@elte.hu>
Diffstat (limited to 'kernel/irq')
-rw-r--r--kernel/irq/manage.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/kernel/irq/manage.c b/kernel/irq/manage.c
index cd0cd8d..1c50550 100644
--- a/kernel/irq/manage.c
+++ b/kernel/irq/manage.c
@@ -717,7 +717,7 @@ int request_irq(unsigned int irq, irq_handler_t handler,
if (!handler)
return -EINVAL;
- action = kmalloc(sizeof(struct irqaction), GFP_ATOMIC);
+ action = kmalloc(sizeof(struct irqaction), GFP_KERNEL);
if (!action)
return -ENOMEM;