diff options
author | Thomas Gleixner <tglx@linutronix.de> | 2011-02-12 11:51:03 +0100 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2011-02-17 15:15:08 -0800 |
commit | 874349687931814d5afa98081795a77ce3cd5231 (patch) | |
tree | 8a3a7de4313f616e3cdb4da8da3fc95c83433c14 | |
parent | 359a11e2bb0010e60679be4f0c1415e8b1749bd7 (diff) |
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.c | 3 |
1 files changed, 2 insertions, 1 deletions
diff --git a/arch/x86/kernel/irq.c b/arch/x86/kernel/irq.c index 83ec0175f98..e430114ba32 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); |