diff options
author | Paul Mundt <lethal@linux-sh.org> | 2009-05-22 00:29:37 -0400 |
---|---|---|
committer | Paul Mundt <lethal@linux-sh.org> | 2009-05-22 00:29:37 -0400 |
commit | 5f8371cec93b94a24a55ba1de642ce6eade6d62c (patch) | |
tree | 61b6d2acb10226b3c0f2d31bda3a49288e540eba /arch/sh/kernel/cpu/irq/ipr.c | |
parent | 8e9bb19ef97d6594e735bee64b6d72103e350854 (diff) | |
parent | d8586ba6e1415150e1bab89f0a05447bb6f2d6d5 (diff) |
Merge branches 'sh/stable-updates' and 'sh/sparseirq'
Diffstat (limited to 'arch/sh/kernel/cpu/irq/ipr.c')
-rw-r--r-- | arch/sh/kernel/cpu/irq/ipr.c | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/arch/sh/kernel/cpu/irq/ipr.c b/arch/sh/kernel/cpu/irq/ipr.c index 3eb17ee5540..fa0c8467a28 100644 --- a/arch/sh/kernel/cpu/irq/ipr.c +++ b/arch/sh/kernel/cpu/irq/ipr.c | |||
@@ -59,10 +59,18 @@ void register_ipr_controller(struct ipr_desc *desc) | |||
59 | 59 | ||
60 | for (i = 0; i < desc->nr_irqs; i++) { | 60 | for (i = 0; i < desc->nr_irqs; i++) { |
61 | struct ipr_data *p = desc->ipr_data + i; | 61 | struct ipr_data *p = desc->ipr_data + i; |
62 | struct irq_desc *irq_desc; | ||
62 | 63 | ||
63 | BUG_ON(p->ipr_idx >= desc->nr_offsets); | 64 | BUG_ON(p->ipr_idx >= desc->nr_offsets); |
64 | BUG_ON(!desc->ipr_offsets[p->ipr_idx]); | 65 | BUG_ON(!desc->ipr_offsets[p->ipr_idx]); |
65 | 66 | ||
67 | irq_desc = irq_to_desc_alloc_cpu(p->irq, smp_processor_id()); | ||
68 | if (unlikely(!irq_desc)) { | ||
69 | printk(KERN_INFO "can not get irq_desc for %d\n", | ||
70 | p->irq); | ||
71 | continue; | ||
72 | } | ||
73 | |||
66 | disable_irq_nosync(p->irq); | 74 | disable_irq_nosync(p->irq); |
67 | set_irq_chip_and_handler_name(p->irq, &desc->chip, | 75 | set_irq_chip_and_handler_name(p->irq, &desc->chip, |
68 | handle_level_irq, "level"); | 76 | handle_level_irq, "level"); |