diff options
author | Kevin Hilman <khilman@deeprootsystems.com> | 2010-11-24 22:09:03 +0300 |
---|---|---|
committer | Tony Lindgren <tony@atomide.com> | 2010-11-25 03:09:30 +0300 |
commit | f910043ce00791c06afc3789278447c4e88670ea (patch) | |
tree | d1bd00a601bfacb0b08e0b4e6b32cbc96dbffd99 /arch/arm/mach-omap2 | |
parent | 0b9466ccea3c4ec363737288dd9467bf978c9c2d (diff) | |
download | linux-f910043ce00791c06afc3789278447c4e88670ea.tar.xz |
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>
Diffstat (limited to 'arch/arm/mach-omap2')
-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 becf0e38ef7e..bc934dbe3bf0 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) struct omap_uart_state *uart; list_for_each_entry(uart, &uart_list, node) { - if (num == uart->num) { + if (num == uart->num && uart->can_sleep) { omap_uart_enable_clocks(uart); /* Check for IO pad wakeup */ |