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
        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)
 {
        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);
 
        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;