diff options
author | Oliver Neukum <oliver@neukum.org> | 2009-02-05 10:54:25 -0500 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@suse.de> | 2009-03-24 19:20:29 -0400 |
commit | f8bece8d91f9ed9cff3c98920802f1b3046b7560 (patch) | |
tree | 7444caecab970139c8f937d27ef22cdc176010a0 /drivers/usb/serial/usb-serial.c | |
parent | 6e14bda1b18b2e3c16258427fc43ceb43e1bc1d5 (diff) |
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: Oliver Neukum <oneukum@suse.de>
Hi Greg,
this is for 2.6.30. Patches to use this in drivers are under development.
Regards
Oliver
Diffstat (limited to 'drivers/usb/serial/usb-serial.c')
-rw-r--r-- | drivers/usb/serial/usb-serial.c | 4 |
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/usb/serial/usb-serial.c b/drivers/usb/serial/usb-serial.c index cfcfd5ab06ce..c6aaa6dc7564 100644 --- a/drivers/usb/serial/usb-serial.c +++ b/drivers/usb/serial/usb-serial.c | |||
@@ -1067,6 +1067,8 @@ int usb_serial_suspend(struct usb_interface *intf, pm_message_t message) | |||
1067 | struct usb_serial_port *port; | 1067 | struct usb_serial_port *port; |
1068 | int i, r = 0; | 1068 | int i, r = 0; |
1069 | 1069 | ||
1070 | serial->suspending = 1; | ||
1071 | |||
1070 | for (i = 0; i < serial->num_ports; ++i) { | 1072 | for (i = 0; i < serial->num_ports; ++i) { |
1071 | port = serial->port[i]; | 1073 | port = serial->port[i]; |
1072 | if (port) | 1074 | if (port) |
@@ -1084,8 +1086,10 @@ int usb_serial_resume(struct usb_interface *intf) | |||
1084 | { | 1086 | { |
1085 | struct usb_serial *serial = usb_get_intfdata(intf); | 1087 | struct usb_serial *serial = usb_get_intfdata(intf); |
1086 | 1088 | ||
1089 | serial->suspending = 0; | ||
1087 | if (serial->type->resume) | 1090 | if (serial->type->resume) |
1088 | return serial->type->resume(serial); | 1091 | return serial->type->resume(serial); |
1092 | |||
1089 | return 0; | 1093 | return 0; |
1090 | } | 1094 | } |
1091 | EXPORT_SYMBOL(usb_serial_resume); | 1095 | EXPORT_SYMBOL(usb_serial_resume); |