From c60420ffbd85796e92b297a335bc1704c7e9d78b Mon Sep 17 00:00:00 2001 From: Kenji Kaneshige Date: Mon, 30 Jul 2007 11:56:30 +0900 Subject: [PATCH] --- yaml --- r: 63559 b: refs/heads/master c: 216fcd29af47ab53ffd87e82139fcc4095e34d91 h: refs/heads/master i: 63557: fd146a53f8580ac74fde6ae4d00547415b11734e 63555: 68073e8fbfd76c0809725a3775f7480621182468 63551: dc136b17c9a30aee1927f6afd747e479ed3d1377 v: v3 --- [refs] | 2 +- trunk/arch/ia64/kernel/irq_ia64.c | 17 ++++++----------- 2 files changed, 7 insertions(+), 12 deletions(-) diff --git a/[refs] b/[refs] index 68cd0a03eb9e..998cc9eb1968 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c4c376f7e16deeba8f0542eabcaca19b712e7be1 +refs/heads/master: 216fcd29af47ab53ffd87e82139fcc4095e34d91 diff --git a/trunk/arch/ia64/kernel/irq_ia64.c b/trunk/arch/ia64/kernel/irq_ia64.c index 9386b955eed1..c47c8acc96e3 100644 --- a/trunk/arch/ia64/kernel/irq_ia64.c +++ b/trunk/arch/ia64/kernel/irq_ia64.c @@ -101,15 +101,6 @@ int check_irq_used(int irq) return -1; } -static void reserve_irq(unsigned int irq) -{ - unsigned long flags; - - spin_lock_irqsave(&vector_lock, flags); - irq_status[irq] = IRQ_RSVD; - spin_unlock_irqrestore(&vector_lock, flags); -} - static inline int find_unassigned_irq(void) { int irq; @@ -302,10 +293,14 @@ static cpumask_t vector_allocation_domain(int cpu) void destroy_and_reserve_irq(unsigned int irq) { + unsigned long flags; + dynamic_irq_cleanup(irq); - clear_irq_vector(irq); - reserve_irq(irq); + spin_lock_irqsave(&vector_lock, flags); + __clear_irq_vector(irq); + irq_status[irq] = IRQ_RSVD; + spin_unlock_irqrestore(&vector_lock, flags); } static int __reassign_irq_vector(int irq, int cpu)