diff options
| author | Takashi Iwai <tiwai@suse.de> | 2009-12-15 04:29:06 -0500 | 
|---|---|---|
| committer | Takashi Iwai <tiwai@suse.de> | 2009-12-15 04:29:06 -0500 | 
| commit | 709334c87dbdb44150ce436b3d13c814db0dcae9 (patch) | |
| tree | 5861a45f70c1f283720337abd864498f5afb3dbe /kernel/irq/spurious.c | |
| parent | 0d64b568fcd48b133721c1d322e7c51d85eb12df (diff) | |
| parent | f74890277a196949e4004fe2955e1d4fb3930f98 (diff) | |
Merge branch 'fixes' of git://git.alsa-project.org/alsa-kernel into for-linus
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)) | 
