sierra_close() must resume the device before it notifies it of a closure Signed-off-by: Oliver Neukum <oliver@xxxxxxxxxx> Hi, this is needed only in mainline. Elina, strictly speaking with this patch your earlier patch is correct, but it still makes no sense to go through setting up the timers and all that, so please reverse the order of calls in your patch. Regards Oliver -- commit 94b94847e5b260ef28b807dc57604b2e32cdd2c2 Author: Oliver Neukum <oliver@xxxxxxxxxx> Date: Wed Oct 14 10:36:12 2009 +0200 usb:usbserial:sierra:fix close() in suspended case close() must resume the device before it notifies it of a closure diff --git a/drivers/usb/serial/sierra.c b/drivers/usb/serial/sierra.c index 4588398..82646e7 100644 --- a/drivers/usb/serial/sierra.c +++ b/drivers/usb/serial/sierra.c @@ -773,8 +773,11 @@ static void sierra_close(struct usb_serial_port *port) if (serial->dev) { mutex_lock(&serial->disc_mutex); - if (!serial->disconnected) + if (!serial->disconnected) { + serial->interface->needs_remote_wakeup = 0; + usb_autopm_get_interface(serial->interface); sierra_send_setup(port); + } mutex_unlock(&serial->disc_mutex); spin_lock_irq(&intfdata->susp_lock); portdata->opened = 0; @@ -788,8 +791,6 @@ static void sierra_close(struct usb_serial_port *port) sierra_release_urb(portdata->in_urbs[i]); portdata->in_urbs[i] = NULL; } - usb_autopm_get_interface(serial->interface); - serial->interface->needs_remote_wakeup = 0; } } -- To unsubscribe from this list: send the line "unsubscribe linux-usb" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html