mac80211: use ieee80211_free_txskb in a few more places
authorFelix Fietkau <nbd@openwrt.org>
Wed, 10 Oct 2012 13:06:46 +0000 (13:06 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Wed, 10 Oct 2012 13:06:46 +0000 (13:06 +0000)
Backport of r33695

SVN-Revision: 33696

package/mac80211/patches/527-mac80211_use_ieee80211_free_txskb.patch

index e6db1048496f474c9ef0e178b1c74e7ff60f3ca5..2ed9be3c3376ac11f745f0a82a172c9c869c6a52 100644 (file)
  }
  
  static void ieee80211_check_pending_bar(struct sta_info *sta, u8 *addr, u8 tid)
+--- a/net/mac80211/iface.c
++++ b/net/mac80211/iface.c
+@@ -826,7 +826,7 @@ static void ieee80211_do_stop(struct iee
+                       struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+                       if (info->control.vif == &sdata->vif) {
+                               __skb_unlink(skb, &local->pending[i]);
+-                              dev_kfree_skb_irq(skb);
++                              ieee80211_free_txskb(&local->hw, skb);
+                       }
+               }
+       }
+--- a/net/mac80211/sta_info.c
++++ b/net/mac80211/sta_info.c
+@@ -587,7 +587,7 @@ static bool sta_info_cleanup_expire_buff
+                */
+               if (!skb)
+                       break;
+-              dev_kfree_skb(skb);
++              ieee80211_free_txskb(&local->hw, skb);
+       }
+       /*
+@@ -616,7 +616,7 @@ static bool sta_info_cleanup_expire_buff
+               local->total_ps_buffered--;
+               ps_dbg(sta->sdata, "Buffered frame expired (STA %pM)\n",
+                      sta->sta.addr);
+-              dev_kfree_skb(skb);
++              ieee80211_free_txskb(&local->hw, skb);
+       }
+       /*
+--- a/net/mac80211/util.c
++++ b/net/mac80211/util.c
+@@ -406,7 +406,7 @@ void ieee80211_add_pending_skb(struct ie
+       int queue = info->hw_queue;
+       if (WARN_ON(!info->control.vif)) {
+-              kfree_skb(skb);
++              ieee80211_free_txskb(&local->hw, skb);
+               return;
+       }
+@@ -431,7 +431,7 @@ void ieee80211_add_pending_skbs_fn(struc
+               struct ieee80211_tx_info *info = IEEE80211_SKB_CB(skb);
+               if (WARN_ON(!info->control.vif)) {
+-                      kfree_skb(skb);
++                      ieee80211_free_txskb(&local->hw, skb);
+                       continue;
+               }