summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorThomas Gleixner <tglx@linutronix.de>2011-02-12 11:51:03 +0100
committerGreg Kroah-Hartman <gregkh@suse.de>2011-02-17 15:15:08 -0800
commit874349687931814d5afa98081795a77ce3cd5231 (patch)
tree8a3a7de4313f616e3cdb4da8da3fc95c83433c14
parent359a11e2bb0010e60679be4f0c1415e8b1749bd7 (diff)
downloadlinux-stable-874349687931814d5afa98081795a77ce3cd5231.tar.gz
linux-stable-874349687931814d5afa98081795a77ce3cd5231.tar.bz2
linux-stable-874349687931814d5afa98081795a77ce3cd5231.zip
x86: Readd missing irq_to_desc() in fixup_irq()
commit 5117348dea5e3ecbb785cfa1271386fb49332b41 upstream. 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> Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
-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 83ec0175f986..e430114ba329 100644
--- a/arch/x86/kernel/irq.c
+++ b/arch/x86/kernel/irq.c
@@ -357,7 +357,8 @@ void fixup_irqs(void)
if (irr & (1 << (vector % 32))) {
irq = __get_cpu_var(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);