summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJohan Hovold <jhovold@gmail.com>2014-05-26 17:23:24 (GMT)
committerGreg Kroah-Hartman <gregkh@linuxfoundation.org>2014-05-27 22:04:07 (GMT)
commitae75c940181c3d4044f7b1adf07ada877ad9cb83 (patch)
tree3e68802c18a074f05c869134d25363c5816abfb4
parent2b4aceabb1bde8fb205f4e947f2db4b1b7a0c2f9 (diff)
downloadlinux-ae75c940181c3d4044f7b1adf07ada877ad9cb83.tar.xz
USB: usb_wwan: kill interrupt urb explicitly at suspend
As the port interrupt URB is submitted by the subdriver at open, we should also kill it explicitly at suspend (even though this will be taken care of by USB serial core otherwise). Signed-off-by: Johan Hovold <jhovold@gmail.com> Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
-rw-r--r--drivers/usb/serial/usb_wwan.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/drivers/usb/serial/usb_wwan.c b/drivers/usb/serial/usb_wwan.c
index c4a815c..b671d59 100644
--- a/drivers/usb/serial/usb_wwan.c
+++ b/drivers/usb/serial/usb_wwan.c
@@ -562,7 +562,7 @@ int usb_wwan_port_remove(struct usb_serial_port *port)
EXPORT_SYMBOL(usb_wwan_port_remove);
#ifdef CONFIG_PM
-static void stop_read_write_urbs(struct usb_serial *serial)
+static void stop_urbs(struct usb_serial *serial)
{
int i, j;
struct usb_serial_port *port;
@@ -578,6 +578,7 @@ static void stop_read_write_urbs(struct usb_serial *serial)
usb_kill_urb(portdata->in_urbs[j]);
for (j = 0; j < N_OUT_URB; j++)
usb_kill_urb(portdata->out_urbs[j]);
+ usb_kill_urb(port->interrupt_in_urb);
}
}
@@ -595,7 +596,7 @@ int usb_wwan_suspend(struct usb_serial *serial, pm_message_t message)
intfdata->suspended = 1;
spin_unlock_irq(&intfdata->susp_lock);
- stop_read_write_urbs(serial);
+ stop_urbs(serial);
return 0;
}