summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorMichael Hsu <mhsu@nvidia.com>2011-12-08 13:58:55 -0800
committerVarun Wadekar <vwadekar@nvidia.com>2011-12-21 15:02:46 +0530
commit4fbd126f17e1b8db673129b754ab70c43f275302 (patch)
tree2ba7c35151085ab15f463fb3db80cf39d9b67d40 /drivers/net
parentfd804ee58d3f9ce10cb2fe16aa76ae0407912d32 (diff)
net: usb: raw-ip: Fix kernel panic in RAW-IP network driver
For RAW-IP network driver, use async version of autopm calls since it might be called in interrupt context. Change-Id: Ie8ab3fd1ab1268d01d3e9333d2b27a1b3ccf0686 Signed-off-by: Michael Hsu <mhsu@nvidia.com> Reviewed-on: http://git-master/r/69890 Reviewed-by: Automatic_Commit_Validation_User Reviewed-by: Seshendra Gadagottu <sgadagottu@nvidia.com> Reviewed-by: Bharat Nihalani <bnihalani@nvidia.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/usb/raw_ip_net.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/net/usb/raw_ip_net.c b/drivers/net/usb/raw_ip_net.c
index 899278b1d2eb..a3e352495a62 100644
--- a/drivers/net/usb/raw_ip_net.c
+++ b/drivers/net/usb/raw_ip_net.c
@@ -442,7 +442,7 @@ static netdev_tx_t baseband_usb_netdev_start_xmit(
urb->transfer_flags = URB_ZERO_PACKET;
/* autoresume before tx */
- err = usb_autopm_get_interface(usb->usb.interface);
+ err = usb_autopm_get_interface_async(usb->usb.interface);
if (err < 0) {
pr_err("%s: usb_autopm_get_interface(%p) failed %d\n",
__func__, usb->usb.interface, err);
@@ -458,7 +458,7 @@ static netdev_tx_t baseband_usb_netdev_start_xmit(
err = usb_submit_urb(urb, GFP_ATOMIC);
if (err < 0) {
pr_err("usb_submit_urb() failed - err %d\n", err);
- usb_autopm_put_interface(usb->usb.interface);
+ usb_autopm_put_interface_async(usb->usb.interface);
usb->usb.tx_urb = (struct urb *) 0;
kfree(urb->transfer_buffer);
usb_free_urb(urb);