Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 950312ce authored by Andrew Randrianasulu's avatar Andrew Randrianasulu Committed by Ralf Baechle
Browse files

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 3aa551c9
    Author: Thomas Gleixner <tglx@linutronix.de>
    Date:   Mon Mar 23 18:28:15 2009 +0100

        genirq: add threaded interrupt handler support

Signed-off-by: default avatarRalf Baechle <ralf@linux-mips.org>
parent 279e677f
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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;