diff options
author | Sonic Zhang <sonic.zhang@analog.com> | 2008-06-25 00:02:07 -0400 |
---|---|---|
committer | Bryan Wu <cooloney@kernel.org> | 2008-06-25 00:02:07 -0400 |
commit | 71a7d1556264c1ad84b1bcf5f7a9cbc980b1e1fd (patch) | |
tree | 097ce8578a566cdda9207dde1da1c3f70705728b /arch/blackfin | |
parent | 543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff) |
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>
Diffstat (limited to 'arch/blackfin')
-rw-r--r-- | arch/blackfin/kernel/irqchip.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index 73647c158774..07402f57c9de 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -60,9 +60,14 @@ static struct irq_chip bad_chip = { | |||
60 | }; | 60 | }; |
61 | 61 | ||
62 | static struct irq_desc bad_irq_desc = { | 62 | static struct irq_desc bad_irq_desc = { |
63 | .status = IRQ_DISABLED, | ||
63 | .chip = &bad_chip, | 64 | .chip = &bad_chip, |
64 | .handle_irq = handle_bad_irq, | 65 | .handle_irq = handle_bad_irq, |
65 | .depth = 1, | 66 | .depth = 1, |
67 | .lock = __SPIN_LOCK_UNLOCKED(irq_desc->lock), | ||
68 | #ifdef CONFIG_SMP | ||
69 | .affinity = CPU_MASK_ALL | ||
70 | #endif | ||
66 | }; | 71 | }; |
67 | 72 | ||
68 | int show_interrupts(struct seq_file *p, void *v) | 73 | int show_interrupts(struct seq_file *p, void *v) |