From 92e2e780af80e86f0cc22e043ac055b1e3af67a1 Mon Sep 17 00:00:00 2001 From: Arjan van de Ven Date: Fri, 23 May 2008 13:04:49 -0700 Subject: [PATCH] --- yaml --- r: 97265 b: refs/heads/master c: 03a74dcc7eebe6edd778317e82fafdf71e68488c h: refs/heads/master i: 97263: 3246c550aaeac74f6b1b9a3bce8c280bd20d266e v: v3 --- [refs] | 2 +- trunk/drivers/serial/serial_core.c | 5 ++++- 2 files changed, 5 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 5598c61a9483..9b22e53e6b33 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: c4185a0e019387f5ad6e99009804965531fa1fab +refs/heads/master: 03a74dcc7eebe6edd778317e82fafdf71e68488c diff --git a/trunk/drivers/serial/serial_core.c b/trunk/drivers/serial/serial_core.c index eab032733790..53b03c629aff 100644 --- a/trunk/drivers/serial/serial_core.c +++ b/trunk/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;