diff options
author | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-16 15:15:59 -0700 |
---|---|---|
committer | Linus Torvalds <torvalds@g5.osdl.org> | 2006-05-16 15:15:59 -0700 |
commit | 509b70b677ca35a0e800807c6470181df5008d70 (patch) | |
tree | a877b27154b0ce0aab10a1d76106a32f4701f456 /drivers | |
parent | 716f8954fb3029ca2df52a986b60af8d06f093ee (diff) | |
parent | 1281e36027a9119356bd93b5e7853c72c35dd462 (diff) |
Merge master.kernel.org:/home/rmk/linux-2.6-serial
* master.kernel.org:/home/rmk/linux-2.6-serial:
[ARM] 3523/1: Serial core pm_state
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/serial/serial_core.c | 9 |
1 files changed, 6 insertions, 3 deletions
diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index aeb8153ccf24..17839e753e4c 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -1907,9 +1907,12 @@ uart_set_options(struct uart_port *port, struct console *co, static void uart_change_pm(struct uart_state *state, int pm_state) { struct uart_port *port = state->port; - if (port->ops->pm) - port->ops->pm(port, pm_state, state->pm_state); - state->pm_state = pm_state; + + if (state->pm_state != pm_state) { + if (port->ops->pm) + port->ops->pm(port, pm_state, state->pm_state); + state->pm_state = pm_state; + } } int uart_suspend_port(struct uart_driver *drv, struct uart_port *port) |