From 8f9a36834f3fffbd8f127ba391f6ded931f147b2 Mon Sep 17 00:00:00 2001 From: Oliver Neukum Date: Thu, 5 Feb 2009 16:54:25 +0100 Subject: [PATCH] --- yaml --- r: 133493 b: refs/heads/master c: f8bece8d91f9ed9cff3c98920802f1b3046b7560 h: refs/heads/master i: 133491: 0838165d741a5a30f657abca07257d8fc901c230 v: v3 --- [refs] | 2 +- trunk/drivers/usb/serial/usb-serial.c | 4 ++++ trunk/include/linux/usb/serial.h | 3 ++- 3 files changed, 7 insertions(+), 2 deletions(-) diff --git a/[refs] b/[refs] index 2096e3f62f30..7b93a8d94884 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 6e14bda1b18b2e3c16258427fc43ceb43e1bc1d5 +refs/heads/master: f8bece8d91f9ed9cff3c98920802f1b3046b7560 diff --git a/trunk/drivers/usb/serial/usb-serial.c b/trunk/drivers/usb/serial/usb-serial.c index cfcfd5ab06ce..c6aaa6dc7564 100644 --- a/trunk/drivers/usb/serial/usb-serial.c +++ b/trunk/drivers/usb/serial/usb-serial.c @@ -1067,6 +1067,8 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message) struct usb_serial_port *port; int i, r = 0; + serial->suspending = 1; + for (i = 0; i < serial->num_ports; ++i) { port = serial->port[i]; if (port) @@ -1084,8 +1086,10 @@ int usb_serial_resume(struct usb_interface *intf) { struct usb_serial *serial = usb_get_intfdata(intf); + serial->suspending = 0; if (serial->type->resume) return serial->type->resume(serial); + return 0; } EXPORT_SYMBOL(usb_serial_resume); diff --git a/trunk/include/linux/usb/serial.h b/trunk/include/linux/usb/serial.h index 0b8617a9176d..b95842542590 100644 --- a/trunk/include/linux/usb/serial.h +++ b/trunk/include/linux/usb/serial.h @@ -130,7 +130,8 @@ struct usb_serial { struct usb_device *dev; struct usb_serial_driver *type; struct usb_interface *interface; - unsigned char disconnected; + unsigned char disconnected:1; + unsigned char suspending:1; unsigned char minor; unsigned char num_ports; unsigned char num_port_pointers;