diff options
author | Venkat Subbiah <venkat.subbiah@cavium.com> | 2011-10-03 17:22:04 -0700 |
---|---|---|
committer | Wim Van Sebroeck <wim@iguana.be> | 2011-11-05 21:15:38 +0100 |
commit | 47bfd058132e6da2a582b85033867ce8b9f5f331 (patch) | |
tree | c5ff4c1f4d6f00a7e07f4a90ddc16452186f0050 /drivers/watchdog/octeon-wdt-main.c | |
parent | cef153a8d41195f69314d93d4b2b7395e263a3a1 (diff) | |
download | blackbird-op-linux-47bfd058132e6da2a582b85033867ce8b9f5f331.tar.gz blackbird-op-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>
Diffstat (limited to 'drivers/watchdog/octeon-wdt-main.c')
-rw-r--r-- | drivers/watchdog/octeon-wdt-main.c | 2 |
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); |