diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-17 07:28:43 +0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2012-11-17 07:28:43 +0400 |
commit | 2bf81c8af92dd53890557c5d87875842d573a3e9 (patch) | |
tree | 83e7e3539599b091ac69557658c06c0a39cfa60e /arch/sparc/kernel/leon_kernel.c | |
parent | 9526d9bc23f362035cfabf044aa90f4ed1787955 (diff) | |
parent | 5f6c4ab6ee781c9aace7c8548ad9bd87f5678df7 (diff) | |
download | linux-2bf81c8af92dd53890557c5d87875842d573a3e9.tar.xz |
Merge branch 'arch-microblaze' into no-rebases
Diffstat (limited to 'arch/sparc/kernel/leon_kernel.c')
-rw-r--r-- | arch/sparc/kernel/leon_kernel.c | 6 |
1 files changed, 4 insertions, 2 deletions
diff --git a/arch/sparc/kernel/leon_kernel.c b/arch/sparc/kernel/leon_kernel.c index f8b6eee40bde..87f60ee65433 100644 --- a/arch/sparc/kernel/leon_kernel.c +++ b/arch/sparc/kernel/leon_kernel.c @@ -56,11 +56,13 @@ static inline unsigned int leon_eirq_get(int cpu) static void leon_handle_ext_irq(unsigned int irq, struct irq_desc *desc) { unsigned int eirq; + struct irq_bucket *p; int cpu = sparc_leon3_cpuid(); eirq = leon_eirq_get(cpu); - if ((eirq & 0x10) && irq_map[eirq]->irq) /* bit4 tells if IRQ happened */ - generic_handle_irq(irq_map[eirq]->irq); + p = irq_map[eirq]; + if ((eirq & 0x10) && p && p->irq) /* bit4 tells if IRQ happened */ + generic_handle_irq(p->irq); } /* The extended IRQ controller has been found, this function registers it */ |