Commit f8bece8d authored by Oliver Neukum's avatar Oliver Neukum Committed by Greg Kroah-Hartman

USB: serial: introduce a flag into the usb serial layer to tell drivers that...

USB: serial: introduce a flag into the usb serial layer to tell drivers that their URBs are killed due to suspension

This patch introduces a flag into the usb serial layer to tell drivers
that their URBs are killed due to suspension. That is necessary to let
drivers know whether they should report an error back.
Signed-off-by: default avatarOliver Neukum <oneukum@suse.de>

Hi Greg,

this is for 2.6.30. Patches to use this in drivers are under development.

	Regards
		Oliver
parent 6e14bda1
...@@ -1067,6 +1067,8 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message) ...@@ -1067,6 +1067,8 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message)
struct usb_serial_port *port; struct usb_serial_port *port;
int i, r = 0; int i, r = 0;
serial->suspending = 1;
for (i = 0; i < serial->num_ports; ++i) { for (i = 0; i < serial->num_ports; ++i) {
port = serial->port[i]; port = serial->port[i];
if (port) if (port)
...@@ -1084,8 +1086,10 @@ int usb_serial_resume(struct usb_interface *intf) ...@@ -1084,8 +1086,10 @@ int usb_serial_resume(struct usb_interface *intf)
{ {
struct usb_serial *serial = usb_get_intfdata(intf); struct usb_serial *serial = usb_get_intfdata(intf);
serial->suspending = 0;
if (serial->type->resume) if (serial->type->resume)
return serial->type->resume(serial); return serial->type->resume(serial);
return 0; return 0;
} }
EXPORT_SYMBOL(usb_serial_resume); EXPORT_SYMBOL(usb_serial_resume);
......
...@@ -130,7 +130,8 @@ struct usb_serial { ...@@ -130,7 +130,8 @@ struct usb_serial {
struct usb_device *dev; struct usb_device *dev;
struct usb_serial_driver *type; struct usb_serial_driver *type;
struct usb_interface *interface; struct usb_interface *interface;
unsigned char disconnected; unsigned char disconnected:1;
unsigned char suspending:1;
unsigned char minor; unsigned char minor;
unsigned char num_ports; unsigned char num_ports;
unsigned char num_port_pointers; unsigned char num_port_pointers;
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment