summaryrefslogtreecommitdiffstats
path: root/arch/x86/kernel/irq.c
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-12 11:51:03 +0100
committerThomas Gleixner <tglx@linutronix.de>2011-02-12 11:56:22 +0100
commit5117348dea5e3ecbb785cfa1271386fb49332b41 (patch)
tree7524eeec3b476588777620d22822743d3b1817c9 /arch/x86/kernel/irq.c
parentx86: Fix section mismatch in LAPIC initialization (diff)
downloadlinux-5117348dea5e3ecbb785cfa1271386fb49332b41.tar.xz
linux-5117348dea5e3ecbb785cfa1271386fb49332b41.zip
x86: Readd missing irq_to_desc() in fixup_irq()
commit a3c08e5d(x86: Convert irq_chip access to new functions) accidentally zapped desc = irq_to_desc(irq); in the vector loop. So we lock some random irq descriptor. Add it back. Signed-off-by: Thomas Gleixner <tglx@linutronix.de> Cc: <stable@kernel.org> # .37
Diffstat (limited to 'arch/x86/kernel/irq.c')
-rw-r--r--arch/x86/kernel/irq.c3
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c
index 52945da52a94..387b6a0c9e81 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -367,7 +367,8 @@ void fixup_irqs(void)
if (irr & (1 << (vector % 32))) {
irq = __this_cpu_read(vector_irq[vector]);
- data = irq_get_irq_data(irq);
+ desc = irq_to_desc(irq);
+ data = &desc->irq_data;
raw_spin_lock(&desc->lock);
if (data->chip->irq_retrigger)
data->chip->irq_retrigger(data);