X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=drivers%2Fserial%2Fserial_core.c;h=53b03c629afffc86812e4fc22ba973d0c757cc5a;hb=03a74dcc7eebe6edd778317e82fafdf71e68488c;hp=eab032733790d5524ac9f14e8596c1a5a62e462c;hpb=860da5e578c25d1ab4528c0d1ad13f9969e3490f;p=linux-2.6-omap-h63xx.git diff --git a/drivers/serial/serial_core.c b/drivers/serial/serial_core.c index eab03273379..53b03c629af 100644 --- a/drivers/serial/serial_core.c +++ b/drivers/serial/serial_core.c @@ -2054,6 +2054,8 @@ int uart_suspend_port(struct uart_driver *drv, struct uart_port *port) int uart_resume_port(struct uart_driver *drv, struct uart_port *port) { struct uart_state *state = drv->state + port->line; + struct device *tty_dev; + struct uart_match match = {port, drv}; mutex_lock(&state->mutex); @@ -2063,7 +2065,8 @@ int uart_resume_port(struct uart_driver *drv, struct uart_port *port) return 0; } - if (!port->suspended) { + tty_dev = device_find_child(port->dev, &match, serial_match_port); + if (!port->suspended && device_may_wakeup(tty_dev)) { disable_irq_wake(port->irq); mutex_unlock(&state->mutex); return 0;