diff options
Diffstat (limited to 'arch/blackfin/kernel/irqchip.c')
-rw-r--r-- | arch/blackfin/kernel/irqchip.c | 5 |
1 files changed, 4 insertions, 1 deletions
diff --git a/arch/blackfin/kernel/irqchip.c b/arch/blackfin/kernel/irqchip.c index 1624e1129681..ab8209cbbad0 100644 --- a/arch/blackfin/kernel/irqchip.c +++ b/arch/blackfin/kernel/irqchip.c | |||
@@ -108,8 +108,9 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
108 | { | 108 | { |
109 | struct pt_regs *old_regs; | 109 | struct pt_regs *old_regs; |
110 | struct irq_desc *desc = irq_desc + irq; | 110 | struct irq_desc *desc = irq_desc + irq; |
111 | #ifndef CONFIG_IPIPE | ||
111 | unsigned short pending, other_ints; | 112 | unsigned short pending, other_ints; |
112 | 113 | #endif | |
113 | old_regs = set_irq_regs(regs); | 114 | old_regs = set_irq_regs(regs); |
114 | 115 | ||
115 | /* | 116 | /* |
@@ -137,6 +138,7 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
137 | #endif | 138 | #endif |
138 | generic_handle_irq(irq); | 139 | generic_handle_irq(irq); |
139 | 140 | ||
141 | #ifndef CONFIG_IPIPE /* Useless and bugous over the I-pipe: IRQs are threaded. */ | ||
140 | /* If we're the only interrupt running (ignoring IRQ15 which is for | 142 | /* If we're the only interrupt running (ignoring IRQ15 which is for |
141 | syscalls), lower our priority to IRQ14 so that softirqs run at | 143 | syscalls), lower our priority to IRQ14 so that softirqs run at |
142 | that level. If there's another, lower-level interrupt, irq_exit | 144 | that level. If there's another, lower-level interrupt, irq_exit |
@@ -146,6 +148,7 @@ asmlinkage void asm_do_IRQ(unsigned int irq, struct pt_regs *regs) | |||
146 | other_ints = pending & (pending - 1); | 148 | other_ints = pending & (pending - 1); |
147 | if (other_ints == 0) | 149 | if (other_ints == 0) |
148 | lower_to_irq14(); | 150 | lower_to_irq14(); |
151 | #endif /* !CONFIG_IPIPE */ | ||
149 | irq_exit(); | 152 | irq_exit(); |
150 | 153 | ||
151 | set_irq_regs(old_regs); | 154 | set_irq_regs(old_regs); |