Explorar o código

Blackfin arch: fix bug - kernel boot fails when Spinlock and rw-lock debugging enabled

Initialize the lock of bad_irq_desc properly.
The content of irq_desc array is replaced by bad_irq_desc in blackfin
arch irqchip init code. So, do it properly as common irq init code.

Signed-off-by: Sonic Zhang <sonic.zhang@analog.com>
Signed-off-by: Bryan Wu <cooloney@kernel.org>
Sonic Zhang %!s(int64=17) %!d(string=hai) anos
pai
achega
71a7d15562
Modificáronse 1 ficheiros con 5 adicións e 0 borrados
  1. 5 0
      arch/blackfin/kernel/irqchip.c

+ 5 - 0
arch/blackfin/kernel/irqchip.c

@@ -60,9 +60,14 @@ static struct irq_chip bad_chip = {
 };
 };
 
 
 static struct irq_desc bad_irq_desc = {
 static struct irq_desc bad_irq_desc = {
+	.status = IRQ_DISABLED,
 	.chip = &bad_chip,
 	.chip = &bad_chip,
 	.handle_irq = handle_bad_irq,
 	.handle_irq = handle_bad_irq,
 	.depth = 1,
 	.depth = 1,
+	.lock = __SPIN_LOCK_UNLOCKED(irq_desc->lock),
+#ifdef CONFIG_SMP
+	.affinity = CPU_MASK_ALL
+#endif
 };
 };
 
 
 int show_interrupts(struct seq_file *p, void *v)
 int show_interrupts(struct seq_file *p, void *v)