Commit 47bfd058132e6da2a582b85033867ce8b9f5f331

Authored by Venkat Subbiah
Committed by Wim Van Sebroeck
1 parent cef153a8d4

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>

Showing 1 changed file with 1 additions and 1 deletions Side-by-side Diff

drivers/watchdog/octeon-wdt-main.c
... ... @@ -402,7 +402,7 @@
402 402 irq = OCTEON_IRQ_WDOG0 + core;
403 403  
404 404 if (request_irq(irq, octeon_wdt_poke_irq,
405   - IRQF_DISABLED, "octeon_wdt", octeon_wdt_poke_irq))
  405 + IRQF_NO_THREAD, "octeon_wdt", octeon_wdt_poke_irq))
406 406 panic("octeon_wdt: Couldn't obtain irq %d", irq);
407 407  
408 408 cpumask_set_cpu(cpu, &irq_enabled_cpus);