From mboxrd@z Thu Jan 1 00:00:00 1970 From: Liming Wang Subject: [PATCH] mips/rt: convert cascade interrupt non threaded Date: Fri, 26 Aug 2011 23:00:04 +0800 Message-ID: <1314370804-21266-1-git-send-email-liming.wang@windriver.com> Mime-Version: 1.0 Content-Type: text/plain Cc: Peter Zijlstra , lkml To: Thomas Gleixner , rt-users Return-path: Received: from mail.windriver.com ([147.11.1.11]:41772 "EHLO mail.windriver.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1752620Ab1HZPQv (ORCPT ); Fri, 26 Aug 2011 11:16:51 -0400 Sender: linux-rt-users-owner@vger.kernel.org List-ID: The preempt_rt kernel forces all irq interrupts to be threaded, but special interrupts can be excluded from this conversion. The cascade interrupt should be part of these exceptions. In this case, irq2 is initialized before "kthreadd" task, which converts irq interrupt to threaded. If this irq is threaded, the kernel calls "try_to_wake_up" function to wake up "kthreadd" task, but at that moment, "kthreadd" task has not been initialized and try_to_wake_up wakes up a NULL task. Signed-off-by: Liming Wang Signed-off-by: Bruce Ashfield --- arch/mips/kernel/i8259.c | 1 + 1 files changed, 1 insertions(+), 0 deletions(-) diff --git a/arch/mips/kernel/i8259.c b/arch/mips/kernel/i8259.c index 5c74eb7..fb338db 100644 --- a/arch/mips/kernel/i8259.c +++ b/arch/mips/kernel/i8259.c @@ -295,6 +295,7 @@ static void init_8259A(int auto_eoi) static struct irqaction irq2 = { .handler = no_action, .name = "cascade", + .flags = IRQF_NO_THREAD, }; static struct resource pic1_io_resource = { -- 1.7.0.4