瀏覽代碼

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
Thomas Gleixner 14 年之前
父節點
當前提交
5117348dea
共有 1 個文件被更改,包括 2 次插入1 次删除
  1. 2 1
      arch/x86/kernel/irq.c

+ 2 - 1
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);