summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorVenkat Subbiah <venkat.subbiah@cavium.com>2011-10-04 02:22:04 +0200
committerWim Van Sebroeck <wim@iguana.be>2011-11-05 21:15:38 +0100
commit47bfd058132e6da2a582b85033867ce8b9f5f331 (patch)
treec5ff4c1f4d6f00a7e07f4a90ddc16452186f0050
parentwatchdog: sc520_wdt: Remove unnecessary cast. (diff)
downloadlinux-47bfd058132e6da2a582b85033867ce8b9f5f331.tar.xz
linux-47bfd058132e6da2a582b85033867ce8b9f5f331.zip
watchdog: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD
This is to exclude it from force threading to allow RT patch set to work. The watchdog timers are per-CPU and the addresses of register that reset the timer are calculated based on the current CPU. Therefore we cannot allow it to run on a thread on a different CPU. Also we only do a single register write, which is much faster than scheduling a handler thread. And while on this line remove IRQF_DISABLED as this flag is a NOP. Signed-off-by: Venkat Subbiah<venkat.subbiah@cavium.com> Acked-by: David Daney<david.daney@cavium.com> Signed-off-by: Wim Van Sebroeck <wim@iguana.be>
-rw-r--r--drivers/watchdog/octeon-wdt-main.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c
index 945ee8300306..7c0d8630e641 100644
--- a/drivers/watchdog/octeon-wdt-main.c
+++ b/drivers/watchdog/octeon-wdt-main.c
@@ -402,7 +402,7 @@ static void octeon_wdt_setup_interrupt(int cpu)
irq = OCTEON_IRQ_WDOG0 + core;
if (request_irq(irq, octeon_wdt_poke_irq,
- IRQF_DISABLED, "octeon_wdt", octeon_wdt_poke_irq))
+ IRQF_NO_THREAD, "octeon_wdt", octeon_wdt_poke_irq))
panic("octeon_wdt: Couldn't obtain irq %d", irq);
cpumask_set_cpu(cpu, &irq_enabled_cpus);