watchdog: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD
authorVenkat Subbiah <venkat.subbiah@cavium.com>
Tue, 4 Oct 2011 00:22:04 +0000 (17:22 -0700)
committerWim Van Sebroeck <wim@iguana.be>
Sat, 5 Nov 2011 20:15:38 +0000 (21:15 +0100)
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>
drivers/watchdog/octeon-wdt-main.c

index 945ee8300306c0e322cd69a26180231879f02acc..7c0d8630e64102f52992ec52b5e35f95da82deda 100644 (file)
@@ -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);