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

Commit 9b938166 authored by Andrew Victor's avatar Andrew Victor Committed by Russell King
Browse files

[ARM] 4088/1: AT91: Unbalanced IRQ in serial driver suspend/resume



This patch fixes the unbalanced calls to enable_irq_wake() and
disable_irq_wake() in the AT91 (and AVR32) serial driver.

It should resolve these kernel messages:
  Unbalanced IRQ x wake disable
  BUG: warning at kernel/irq/manage.c:167/set_irq_wake()

Original patch from Marc Pignat.

Signed-off-by: default avatarAndrew Victor <andrew@sanpeople.com>
Signed-off-by: default avatarRussell King <rmk+kernel@arm.linux.org.uk>
parent e9d10a16
Loading
Loading
Loading
Loading
+2 −1
Original line number Diff line number Diff line
@@ -890,7 +890,6 @@ static int atmel_serial_suspend(struct platform_device *pdev, pm_message_t state
	if (device_may_wakeup(&pdev->dev) && !at91_suspend_entering_slow_clock())
		enable_irq_wake(port->irq);
	else {
		disable_irq_wake(port->irq);
		uart_suspend_port(&atmel_uart, port);
		atmel_port->suspended = 1;
	}
@@ -907,6 +906,8 @@ static int atmel_serial_resume(struct platform_device *pdev)
		uart_resume_port(&atmel_uart, port);
		atmel_port->suspended = 0;
	}
	else
		disable_irq_wake(port->irq);

	return 0;
}