* [PATCH] AU1xxxx mips_timer_interrupt() fixes
@ 2006-04-10 8:38 Herbert Valerio Riedel
2006-04-27 16:13 ` Ralf Baechle
0 siblings, 1 reply; 2+ messages in thread
From: Herbert Valerio Riedel @ 2006-04-10 8:38 UTC (permalink / raw)
To: linux-mips; +Cc: ppopov
common/au1000/irq.c was missing a mips_timer_interrupt() prototype, whereas
in common/au1000/time.c the actual mips_timer_interrupt() implementation
was missing an irq_exit() invocation, causing a preempt_count() leak
Signed-off-by: Herbert Valerio Riedel <hvr@hvrlab.org>
---
arch/mips/au1000/common/irq.c | 1 +
arch/mips/au1000/common/time.c | 1 +
2 files changed, 2 insertions(+), 0 deletions(-)
d0a263ef156cf498d97cf6b2f37ba4d8d4a92559
diff --git a/arch/mips/au1000/common/irq.c b/arch/mips/au1000/common/irq.c
index da61de7..afe05ec 100644
--- a/arch/mips/au1000/common/irq.c
+++ b/arch/mips/au1000/common/irq.c
@@ -68,6 +68,7 @@
extern void set_debug_traps(void);
extern irq_cpustat_t irq_stat [NR_CPUS];
+extern void mips_timer_interrupt(struct pt_regs *regs);
static void setup_local_irq(unsigned int irq, int type, int int_req);
static unsigned int startup_irq(unsigned int irq);
diff --git a/arch/mips/au1000/common/time.c b/arch/mips/au1000/common/time.c
index f85f152..f74d66a 100644
--- a/arch/mips/au1000/common/time.c
+++ b/arch/mips/au1000/common/time.c
@@ -116,6 +116,7 @@ void mips_timer_interrupt(struct pt_regs
null:
ack_r4ktimer(0);
+ irq_exit();
}
#ifdef CONFIG_PM
--
1.2.4
^ permalink raw reply related [flat|nested] 2+ messages in thread
* Re: [PATCH] AU1xxxx mips_timer_interrupt() fixes
2006-04-10 8:38 [PATCH] AU1xxxx mips_timer_interrupt() fixes Herbert Valerio Riedel
@ 2006-04-27 16:13 ` Ralf Baechle
0 siblings, 0 replies; 2+ messages in thread
From: Ralf Baechle @ 2006-04-27 16:13 UTC (permalink / raw)
To: Herbert Valerio Riedel; +Cc: linux-mips, ppopov
On Wed, Apr 12, 2006 at 09:03:08AM +0200, Herbert Valerio Riedel wrote:
> common/au1000/irq.c was missing a mips_timer_interrupt() prototype, whereas
> in common/au1000/time.c the actual mips_timer_interrupt() implementation
> was missing an irq_exit() invocation, causing a preempt_count() leak
mips_timer_interrupt is essentially duplicated code, so this kind of
breakage is entirely avoidable but fixing and all the other time code
braindamage it will be a large project, so I applied this patch to
2.6.16-stable and master.
Thanks,
Ralf
^ permalink raw reply [flat|nested] 2+ messages in thread
end of thread, other threads:[~2006-04-27 16:13 UTC | newest]
Thread overview: 2+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2006-04-10 8:38 [PATCH] AU1xxxx mips_timer_interrupt() fixes Herbert Valerio Riedel
2006-04-27 16:13 ` Ralf Baechle
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox