diff options
author | Bjorn Van Tilt <bjorn.vantilt@gmail.com> | 2014-03-24 10:32:08 -0400 |
---|---|---|
committer | Marc Kleine-Budde <mkl@pengutronix.de> | 2014-04-01 05:54:55 -0400 |
commit | 636d0375e7a850c95a0abc2c214295ce06cd2ab4 (patch) | |
tree | b45e7d045ac4cf696d8bcc292ea79d568e6523e0 | |
parent | 17e84a9253467552fb06f99c009bb0bc1d7bfd39 (diff) |
can: usb_8dev: Fix memory leak in usb_8dev_start_xmit
Fixed a memory leak when an error occurred in the transmit function. In the
error handling the urb wasn't freed before returning. There was also a call to
the usb_unanchor_urb() function but the urb wasn't anchored.
Signed-off-by: Bjorn Van Tilt <bjorn.vantilt@gmail.com>
Signed-off-by: Marc Kleine-Budde <mkl@pengutronix.de>
-rw-r--r-- | drivers/net/can/usb/usb_8dev.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/drivers/net/can/usb/usb_8dev.c b/drivers/net/can/usb/usb_8dev.c index a0fa1fd5092b..e7247a506586 100644 --- a/drivers/net/can/usb/usb_8dev.c +++ b/drivers/net/can/usb/usb_8dev.c | |||
@@ -697,8 +697,8 @@ static netdev_tx_t usb_8dev_start_xmit(struct sk_buff *skb, | |||
697 | return NETDEV_TX_OK; | 697 | return NETDEV_TX_OK; |
698 | 698 | ||
699 | nofreecontext: | 699 | nofreecontext: |
700 | usb_unanchor_urb(urb); | ||
701 | usb_free_coherent(priv->udev, size, buf, urb->transfer_dma); | 700 | usb_free_coherent(priv->udev, size, buf, urb->transfer_dma); |
701 | usb_free_urb(urb); | ||
702 | 702 | ||
703 | netdev_warn(netdev, "couldn't find free context"); | 703 | netdev_warn(netdev, "couldn't find free context"); |
704 | 704 | ||