summaryrefslogtreecommitdiffstats
path: root/drivers/net
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2008-07-20 18:03:58 +0200
committerJohn W. Linville <linville@tuxdriver.com>2008-07-29 22:55:05 +0200
commite7087a828f8714e464fff18d93618727530dfd89 (patch)
tree0b7ccb44da43857a4906d299fbdebc7d2bd64ec6 /drivers/net
parentrt2x00: Fix QOS sequence counting (diff)
downloadlinux-e7087a828f8714e464fff18d93618727530dfd89.tar.xz
linux-e7087a828f8714e464fff18d93618727530dfd89.zip
rt2x00: Fix memleak when RTS/CTS fails
When sending the RTS/CTS frame fails, we should free the skb buffer which was created. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00mac.c1
1 files changed, 1 insertions, 0 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00mac.c b/drivers/net/wireless/rt2x00/rt2x00mac.c
index 9d346bd2db0e..1f83d5fbf6b0 100644
--- a/drivers/net/wireless/rt2x00/rt2x00mac.c
+++ b/drivers/net/wireless/rt2x00/rt2x00mac.c
@@ -83,6 +83,7 @@ static int rt2x00mac_tx_rts_cts(struct rt2x00_dev *rt2x00dev,
(struct ieee80211_rts *)(skb->data));
if (rt2x00queue_write_tx_frame(queue, skb)) {
+ dev_kfree_skb_any(skb);
WARNING(rt2x00dev, "Failed to send RTS/CTS frame.\n");
return NETDEV_TX_BUSY;
}