diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2010-11-24 14:09:03 -0500 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-11-24 19:09:30 -0500 |
commit | f910043ce00791c06afc3789278447c4e88670ea (patch) | |
tree | d1bd00a601bfacb0b08e0b4e6b32cbc96dbffd99 | |
parent | 0b9466ccea3c4ec363737288dd9467bf978c9c2d (diff) |
OMAP: UART: don't resume UARTs that are not enabled.
Add additional check to omap_uart_resume_idle() so that only
enabled (specifically, idle-enabled) UARTs are allowed to resume.
This matches the existing check in prepare idle.
Without this patch, the system will hang if a board is
configured to register only some uarts instead of all of
them and PM is enabled.
Cc: Govindraj R. <govindraj.raja@ti.com>
Signed-off-by: Kevin Hilman <khilman@deeprootsystems.com>
[tony@atomide.com: updated description]
Signed-off-by: Tony Lindgren <tony@atomide.com>
-rw-r--r-- | arch/arm/mach-omap2/serial.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/arch/arm/mach-omap2/serial.c b/arch/arm/mach-omap2/serial.c index becf0e38ef7..bc934dbe3bf 100644 --- a/arch/arm/mach-omap2/serial.c +++ b/arch/arm/mach-omap2/serial.c | |||
@@ -406,7 +406,7 @@ void omap_uart_resume_idle(int num) | |||
406 | struct omap_uart_state *uart; | 406 | struct omap_uart_state *uart; |
407 | 407 | ||
408 | list_for_each_entry(uart, &uart_list, node) { | 408 | list_for_each_entry(uart, &uart_list, node) { |
409 | if (num == uart->num) { | 409 | if (num == uart->num && uart->can_sleep) { |
410 | omap_uart_enable_clocks(uart); | 410 | omap_uart_enable_clocks(uart); |
411 | 411 | ||
412 | /* Check for IO pad wakeup */ | 412 | /* Check for IO pad wakeup */ |