aboutsummaryrefslogtreecommitdiffstats
path: root/arch/mips
diff options
context:
space:
mode:
authorAndrew Randrianasulu <randrik_a@yahoo.com>2009-05-14 11:29:27 -0700
committerRalf Baechle <ralf@linux-mips.org>2009-05-20 18:53:13 +0100
commit950312ce22696ddfa42a957bdadaa9c24151e679 (patch)
tree2ab298930f879d157c6fe317953c2a33f7a95259 /arch/mips
parent279e677faa775ad16e75c32e1bf4a37f8158bc61 (diff)
downloadkernel_goldelico_gta04-950312ce22696ddfa42a957bdadaa9c24151e679.zip
kernel_goldelico_gta04-950312ce22696ddfa42a957bdadaa9c24151e679.tar.gz
kernel_goldelico_gta04-950312ce22696ddfa42a957bdadaa9c24151e679.tar.bz2
MIPS: IP32: Fix hang on shutdown in power button interrupt handler.
The hang was caused by the use of disable_irq() from the interrupt handler itself. Fixed by the use of disable_irq_nosync(). The issue was triggered by: commit 3aa551c9b4c40018f0e261a178e3d25478dc04a9 Author: Thomas Gleixner <tglx@linutronix.de> Date: Mon Mar 23 18:28:15 2009 +0100 genirq: add threaded interrupt handler support Signed-off-by: Ralf Baechle <ralf@linux-mips.org>
Diffstat (limited to 'arch/mips')
-rw-r--r--arch/mips/sgi-ip32/ip32-reset.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/mips/sgi-ip32/ip32-reset.c b/arch/mips/sgi-ip32/ip32-reset.c
index b6cab08..667da93 100644
--- a/arch/mips/sgi-ip32/ip32-reset.c
+++ b/arch/mips/sgi-ip32/ip32-reset.c
@@ -145,7 +145,7 @@ static irqreturn_t ip32_rtc_int(int irq, void *dev_id)
"%s: RTC IRQ without RTC_IRQF\n", __func__);
}
/* Wait until interrupt goes away */
- disable_irq(MACEISA_RTC_IRQ);
+ disable_irq_nosync(MACEISA_RTC_IRQ);
init_timer(&debounce_timer);
debounce_timer.function = debounce;
debounce_timer.expires = jiffies + 50;