The skbs containing the beacons weren't properly cleaned up for rt2400pci, rt2500pci,
rt61pci, and rt73usb. Clean up those skbs in the manner appropriate for each driver.
Signed-off-by: Gertjan van Wingerde <gwingerde@kpnplanet.nl>
Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
            vif->type != IEEE80211_IF_TYPE_IBSS)
                return;
 
+       /*
+        * Clean up the beacon skb.
+        */
+       dev_kfree_skb_irq(intf->beacon->skb);
+       intf->beacon->skb = NULL;
+
        spin_lock(&intf->lock);
        intf->delayed_flags |= DELAYED_UPDATE_BEACON;
        spin_unlock(&intf->lock);
 
                                      skb->data, skb->len);
        rt61pci_kick_tx_queue(rt2x00dev, QID_BEACON);
 
+       /*
+        * Clean up beacon skb.
+        */
+       dev_kfree_skb_any(skb);
+       intf->beacon->skb = NULL;
+
        return 0;
 }
 
 
                                 REGISTER_TIMEOUT32(skb->len));
        rt73usb_kick_tx_queue(rt2x00dev, QID_BEACON);
 
+       /*
+        * Clean up the beacon skb.
+        */
+       dev_kfree_skb(skb);
+       intf->beacon->skb = NULL;
+
        return 0;
 }