Skip to content

Commit

Permalink
MIPS: IP22: Fix hang in power button interrupt handler
Browse files Browse the repository at this point in the history
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 3aa551c
    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>
  • Loading branch information
Ralf Baechle committed May 20, 2009
1 parent 950312c commit 7e9e05c
Showing 1 changed file with 1 addition and 1 deletion.
2 changes: 1 addition & 1 deletion arch/mips/sgi-ip22/ip22-reset.c
Original file line number Diff line number Diff line change
Expand Up @@ -148,7 +148,7 @@ static irqreturn_t panel_int(int irq, void *dev_id)

if (sgint->istat1 & SGINT_ISTAT1_PWR) {
/* Wait until interrupt goes away */
disable_irq(SGI_PANEL_IRQ);
disable_irq_nosync(SGI_PANEL_IRQ);
init_timer(&debounce_timer);
debounce_timer.function = debounce;
debounce_timer.expires = jiffies + 5;
Expand Down

0 comments on commit 7e9e05c

Please sign in to comment.