diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-12 11:51:03 +0100 |
---|---|---|
committer | Thomas Gleixner <tglx@linutronix.de> | 2011-02-12 11:56:22 +0100 |
commit | 5117348dea5e3ecbb785cfa1271386fb49332b41 (patch) | |
tree | 7524eeec3b476588777620d22822743d3b1817c9 /arch/x86/kernel/irq.c | |
parent | 2fb270f3212a1e6a73f86f76c85caee93aae4386 (diff) | |
download | talos-obmc-linux-5117348dea5e3ecbb785cfa1271386fb49332b41.tar.gz talos-obmc-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.c | 3 |
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); |