summaryrefslogtreecommitdiff
path: root/arch
diff options
context:
space:
mode:
authorSonic Zhang <sonic.zhang@analog.com>2008-06-25 08:02:07 +0400
committerBryan Wu <cooloney@kernel.org>2008-06-25 08:02:07 +0400
commit71a7d1556264c1ad84b1bcf5f7a9cbc980b1e1fd (patch)
tree097ce8578a566cdda9207dde1da1c3f70705728b /arch
parent543cf4cb3fe6f6cae3651ba918b9c56200b257d0 (diff)
downloadlinux-71a7d1556264c1ad84b1bcf5f7a9cbc980b1e1fd.tar.xz
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')
-rw-r--r--arch/blackfin/kernel/irqchip.c5
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 = {
};
static struct irq_desc bad_irq_desc = {
+ .status = IRQ_DISABLED,
.chip = &bad_chip,
.handle_irq = handle_bad_irq,
.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)