Staging: w35und: plug memory leak in wbsoft_tx()
authorPekka Enberg <penberg@cs.helsinki.fi>
Mon, 27 Oct 2008 22:14:38 +0000 (00:14 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 6 Jan 2009 21:51:44 +0000 (13:51 -0800)
There's no reason to duplicate the skb in wbsoft_tx() and leak GFP_ATOMIC
memory as the contents are copied to ->TxBuffer in MdxTx() anyway before
MLMESendFrame() returns.

Signed-off-by: Pekka Enberg <penberg@cs.helsinki.fi>
Acked-by: Pavel Machek <pavel@suse.cz>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
drivers/staging/winbond/linux/wbusb.c

index d9c3a16c415677528aae127753fd0485bbac6192..75213b53a49f2bf999b2dd361c096e41b9da5213 100644 (file)
@@ -107,11 +107,8 @@ static void wbsoft_configure_filter(struct ieee80211_hw *dev,
 
 static int wbsoft_tx(struct ieee80211_hw *dev, struct sk_buff *skb)
 {
-       char *buffer = kmalloc(skb->len, GFP_ATOMIC);
-       printk("Sending frame %d bytes\n", skb->len);
-       memcpy(buffer, skb->data, skb->len);
-       if (1 == MLMESendFrame(my_adapter, buffer, skb->len, FRAME_TYPE_802_11_MANAGEMENT))
-               printk("frame sent ok (%d bytes)?\n", skb->len);
+       MLMESendFrame(my_adapter, skb->data, skb->len, FRAME_TYPE_802_11_MANAGEMENT);
+
        return NETDEV_TX_OK;
 }