diff options
| author | David S. Miller <davem@davemloft.net> | 2008-07-27 19:51:21 -0400 |
|---|---|---|
| committer | David S. Miller <davem@davemloft.net> | 2008-07-27 19:51:21 -0400 |
| commit | 281c7413ed914623d3245299a4761b6b27ab9fdb (patch) | |
| tree | 182b5222a7ad4b77c32f7845ea777ca665d7def2 /arch/avr32/kernel/time.c | |
| parent | 2ab61b01110aa04cd853c619a74881e3225a5e24 (diff) | |
| parent | c9272c4f9fbe2087beb3392f526dc5b19efaa56b (diff) | |
Merge branch 'master' of master.kernel.org:/pub/scm/linux/kernel/git/torvalds/linux-2.6
Diffstat (limited to 'arch/avr32/kernel/time.c')
| -rw-r--r-- | arch/avr32/kernel/time.c | 6 |
1 files changed, 5 insertions, 1 deletions
diff --git a/arch/avr32/kernel/time.c b/arch/avr32/kernel/time.c index abd954fb7ba0..7e7f32771ae1 100644 --- a/arch/avr32/kernel/time.c +++ b/arch/avr32/kernel/time.c | |||
| @@ -43,6 +43,9 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) | |||
| 43 | { | 43 | { |
| 44 | struct clock_event_device *evdev = dev_id; | 44 | struct clock_event_device *evdev = dev_id; |
| 45 | 45 | ||
| 46 | if (unlikely(!(intc_get_pending(0) & 1))) | ||
| 47 | return IRQ_NONE; | ||
| 48 | |||
| 46 | /* | 49 | /* |
| 47 | * Disable the interrupt until the clockevent subsystem | 50 | * Disable the interrupt until the clockevent subsystem |
| 48 | * reprograms it. | 51 | * reprograms it. |
| @@ -55,7 +58,8 @@ static irqreturn_t timer_interrupt(int irq, void *dev_id) | |||
| 55 | 58 | ||
| 56 | static struct irqaction timer_irqaction = { | 59 | static struct irqaction timer_irqaction = { |
| 57 | .handler = timer_interrupt, | 60 | .handler = timer_interrupt, |
| 58 | .flags = IRQF_TIMER | IRQF_DISABLED, | 61 | /* Oprofile uses the same irq as the timer, so allow it to be shared */ |
| 62 | .flags = IRQF_TIMER | IRQF_DISABLED | IRQF_SHARED, | ||
| 59 | .name = "avr32_comparator", | 63 | .name = "avr32_comparator", |
| 60 | }; | 64 | }; |
| 61 | 65 | ||
