diff options
| author | Uwe Kleine-König <Uwe.Kleine-Koenig@digi.com> | 2008-11-20 05:58:36 -0500 |
|---|---|---|
| committer | Uwe Kleine-Koenig <ukl@pengutronix.de> | 2008-12-12 05:17:08 -0500 |
| commit | c4edfced662fa64deeed89c7d8c9f96d86130c19 (patch) | |
| tree | fe932fbfab71f3be1cb752fb22a50d6b4a22a24a | |
| parent | 72cca72a6cefe90810366cd2b244a33069b21f86 (diff) | |
at91: warn if irqs are enabled in set_next_event
Thomas claims that irqs are disabled when set_next_event is called. But
David and Remy claim they saw irqs being enabled here. As both sides
don't seem to have time to investigate here, start with a warning that
might trigger if the problem still exists.
Signed-off-by: Uwe Kleine-König <u.kleine-koenig@pengutronix.de>
Acked-By: David Brownell <dbrownell@users.sourceforge.net>
Cc: Bill Gatliff <bgat@billgatliff.com>
Acked-By: Remy Bohmer <linux@bohmer.net>
Cc: Thomas Gleixner <tglx@linutronix.de>
| -rw-r--r-- | arch/arm/mach-at91/at91rm9200_time.c | 9 |
1 files changed, 9 insertions, 0 deletions
diff --git a/arch/arm/mach-at91/at91rm9200_time.c b/arch/arm/mach-at91/at91rm9200_time.c index a72e798a2a40..d140eae53ded 100644 --- a/arch/arm/mach-at91/at91rm9200_time.c +++ b/arch/arm/mach-at91/at91rm9200_time.c | |||
| @@ -141,6 +141,15 @@ clkevt32k_next_event(unsigned long delta, struct clock_event_device *dev) | |||
| 141 | /* Use "raw" primitives so we behave correctly on RT kernels. */ | 141 | /* Use "raw" primitives so we behave correctly on RT kernels. */ |
| 142 | raw_local_irq_save(flags); | 142 | raw_local_irq_save(flags); |
| 143 | 143 | ||
| 144 | /* | ||
| 145 | * According to Thomas Gleixner irqs are already disabled here. Simply | ||
| 146 | * removing raw_local_irq_save above (and the matching | ||
| 147 | * raw_local_irq_restore) was not accepted. See | ||
| 148 | * http://thread.gmane.org/gmane.linux.ports.arm.kernel/41174 | ||
| 149 | * So for now (2008-11-20) just warn once if irqs were not disabled ... | ||
| 150 | */ | ||
| 151 | WARN_ON_ONCE(!raw_irqs_disabled_flags(flags)); | ||
| 152 | |||
| 144 | /* The alarm IRQ uses absolute time (now+delta), not the relative | 153 | /* The alarm IRQ uses absolute time (now+delta), not the relative |
| 145 | * time (delta) in our calling convention. Like all clockevents | 154 | * time (delta) in our calling convention. Like all clockevents |
| 146 | * using such "match" hardware, we have a race to defend against. | 155 | * using such "match" hardware, we have a race to defend against. |
