2006-11-01 05:54:12

by Chris Wright

[permalink] [raw]
Subject: [PATCH 19/61] SERIAL: Fix resume handling bug

-stable review patch. If anyone has any objections, please let us know.
------------------

From: Russell King <[email protected]>

Unfortunately, pcmcia_dev_present() returns false when a device is
suspended, so checking this on resume does not work too well. Omit
this test.

the backported patch below is already in fedora tree. -maks

Signed-off-by: Russell King <[email protected]>
Signed-off-by: maximilian attems <[email protected]>
Signed-off-by: Greg Kroah-Hartman <[email protected]>
Signed-off-by: Chris Wright <[email protected]>

---
drivers/serial/serial_cs.c | 12 +++++-------
1 file changed, 5 insertions(+), 7 deletions(-)

--- linux-2.6.18.1.orig/drivers/serial/serial_cs.c
+++ linux-2.6.18.1/drivers/serial/serial_cs.c
@@ -185,14 +185,12 @@ static int serial_suspend(struct pcmcia_

static int serial_resume(struct pcmcia_device *link)
{
- if (pcmcia_dev_present(link)) {
- struct serial_info *info = link->priv;
- int i;
+ struct serial_info *info = link->priv;
+ int i;

- for (i = 0; i < info->ndev; i++)
- serial8250_resume_port(info->line[i]);
- wakeup_card(info);
- }
+ for (i = 0; i < info->ndev; i++)
+ serial8250_resume_port(info->line[i]);
+ wakeup_card(info);

return 0;
}

--