diff options
Diffstat (limited to 'kernel/irq/spurious.c')
| -rw-r--r-- | kernel/irq/spurious.c | 16 |
1 files changed, 2 insertions, 14 deletions
diff --git a/kernel/irq/spurious.c b/kernel/irq/spurious.c index bd7273e6282e..e49ea1c5232d 100644 --- a/kernel/irq/spurious.c +++ b/kernel/irq/spurious.c | |||
| @@ -104,7 +104,7 @@ static int misrouted_irq(int irq) | |||
| 104 | return ok; | 104 | return ok; |
| 105 | } | 105 | } |
| 106 | 106 | ||
| 107 | static void poll_all_shared_irqs(void) | 107 | static void poll_spurious_irqs(unsigned long dummy) |
| 108 | { | 108 | { |
| 109 | struct irq_desc *desc; | 109 | struct irq_desc *desc; |
| 110 | int i; | 110 | int i; |
| @@ -125,23 +125,11 @@ static void poll_all_shared_irqs(void) | |||
| 125 | try_one_irq(i, desc); | 125 | try_one_irq(i, desc); |
| 126 | local_irq_enable(); | 126 | local_irq_enable(); |
| 127 | } | 127 | } |
| 128 | } | ||
| 129 | |||
| 130 | static void poll_spurious_irqs(unsigned long dummy) | ||
| 131 | { | ||
| 132 | poll_all_shared_irqs(); | ||
| 133 | 128 | ||
| 134 | mod_timer(&poll_spurious_irq_timer, | 129 | mod_timer(&poll_spurious_irq_timer, |
| 135 | jiffies + POLL_SPURIOUS_IRQ_INTERVAL); | 130 | jiffies + POLL_SPURIOUS_IRQ_INTERVAL); |
| 136 | } | 131 | } |
| 137 | 132 | ||
| 138 | #ifdef CONFIG_DEBUG_SHIRQ | ||
| 139 | void debug_poll_all_shared_irqs(void) | ||
| 140 | { | ||
| 141 | poll_all_shared_irqs(); | ||
| 142 | } | ||
| 143 | #endif | ||
| 144 | |||
| 145 | /* | 133 | /* |
| 146 | * If 99,900 of the previous 100,000 interrupts have not been handled | 134 | * If 99,900 of the previous 100,000 interrupts have not been handled |
| 147 | * then assume that the IRQ is stuck in some manner. Drop a diagnostic | 135 | * then assume that the IRQ is stuck in some manner. Drop a diagnostic |
| @@ -232,7 +220,7 @@ void note_interrupt(unsigned int irq, struct irq_desc *desc, | |||
| 232 | /* | 220 | /* |
| 233 | * If we are seeing only the odd spurious IRQ caused by | 221 | * If we are seeing only the odd spurious IRQ caused by |
| 234 | * bus asynchronicity then don't eventually trigger an error, | 222 | * bus asynchronicity then don't eventually trigger an error, |
| 235 | * otherwise the couter becomes a doomsday timer for otherwise | 223 | * otherwise the counter becomes a doomsday timer for otherwise |
| 236 | * working systems | 224 | * working systems |
| 237 | */ | 225 | */ |
| 238 | if (time_after(jiffies, desc->last_unhandled + HZ/10)) | 226 | if (time_after(jiffies, desc->last_unhandled + HZ/10)) |
