mac80211: use ieee80211_free_txskb in a few more places to prevent skb leaks
[openwrt.git] / package / mac80211 / patches / 520-mac80211_cur_txpower.patch
index b907e50375d55f0e1151eb5b9e5ef5b49b4da99f..54f2e5040be7d34eeee88c5bf669d5011f711231 100644 (file)
@@ -1,32 +1,31 @@
 --- a/include/net/mac80211.h
 +++ b/include/net/mac80211.h
-@@ -829,7 +829,7 @@ enum ieee80211_smps_mode {
-  */
- struct ieee80211_conf {
-       u32 flags;
--      int power_level, dynamic_ps_timeout;
-+      int cur_power_level, power_level, dynamic_ps_timeout;
      int max_sleep_period;
+@@ -1372,6 +1372,7 @@ struct ieee80211_hw {
+       u8 max_tx_aggregation_subframes;
+       u8 offchannel_tx_hw_queue;
+       u8 radiotap_mcs_details;
++      s8 cur_power_level;
+       netdev_features_t netdev_features;
};
  
-       u16 listen_interval;
 --- a/net/mac80211/cfg.c
 +++ b/net/mac80211/cfg.c
-@@ -1956,7 +1956,7 @@ static int ieee80211_get_tx_power(struct
+@@ -1967,7 +1967,7 @@ static int ieee80211_get_tx_power(struct
  {
        struct ieee80211_local *local = wiphy_priv(wiphy);
  
 -      *dbm = local->hw.conf.power_level;
-+      *dbm = local->hw.conf.cur_power_level;
++      *dbm = local->hw.cur_power_level;
  
        return 0;
  }
 --- a/net/mac80211/main.c
 +++ b/net/mac80211/main.c
-@@ -167,6 +167,7 @@ int ieee80211_hw_config(struct ieee80211
+@@ -165,6 +165,7 @@ int ieee80211_hw_config(struct ieee80211
  
        if (local->hw.conf.power_level != power) {
                changed |= IEEE80211_CONF_CHANGE_POWER;
-+              local->hw.conf.cur_power_level = power;
++              local->hw.cur_power_level = power;
                local->hw.conf.power_level = power;
        }