]> err.no Git - linux-2.6/blobdiff - drivers/serial/serial_core.c
[ARM] 3631/1: Remove legacy __mem_isa() definitions
[linux-2.6] / drivers / serial / serial_core.c
index aeb8153ccf2466eae358d0610af4a61300ce4c8d..17839e753e4cfb1fb550832d8613b0ec579c83ef 100644 (file)
@@ -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)