|
@@ -465,7 +465,6 @@ static inline void check_stack_overflow(void)
|
|
|
|
|
|
|
|
void __do_irq(struct pt_regs *regs)
|
|
void __do_irq(struct pt_regs *regs)
|
|
|
{
|
|
{
|
|
|
- struct irq_desc *desc;
|
|
|
|
|
unsigned int irq;
|
|
unsigned int irq;
|
|
|
|
|
|
|
|
irq_enter();
|
|
irq_enter();
|
|
@@ -487,11 +486,8 @@ void __do_irq(struct pt_regs *regs)
|
|
|
/* And finally process it */
|
|
/* And finally process it */
|
|
|
if (unlikely(irq == NO_IRQ))
|
|
if (unlikely(irq == NO_IRQ))
|
|
|
__get_cpu_var(irq_stat).spurious_irqs++;
|
|
__get_cpu_var(irq_stat).spurious_irqs++;
|
|
|
- else {
|
|
|
|
|
- desc = irq_to_desc(irq);
|
|
|
|
|
- if (likely(desc))
|
|
|
|
|
- desc->handle_irq(irq, desc);
|
|
|
|
|
- }
|
|
|
|
|
|
|
+ else
|
|
|
|
|
+ generic_handle_irq(irq);
|
|
|
|
|
|
|
|
trace_irq_exit(regs);
|
|
trace_irq_exit(regs);
|
|
|
|
|
|