From: Venkat Subbiah Date: Tue, 4 Oct 2011 00:22:04 +0000 (-0700) Subject: watchdog: Octeon: Mark octeon_wdt interrupt as IRQF_NO_THREAD X-Git-Tag: upstream/snapshot3+hdmi~8803^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=47bfd058132e6da2a582b85033867ce8b9f5f331;p=platform%2Fadaptation%2Frenesas_rcar%2Frenesas_kernel.git 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 Acked-by: David Daney Signed-off-by: Wim Van Sebroeck --- diff --git a/drivers/watchdog/octeon-wdt-main.c b/drivers/watchdog/octeon-wdt-main.c index 945ee83..7c0d863 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);