Changeset 38258


Ignore:
Timestamp:
2013-09-29T21:43:49+02:00 (4 years ago)
Author:
nbd
Message:

mac80211: add AP inactivity handling / probing fixes to improve stability

Signed-off-by: Felix Fietkau <nbd@…>

Backport of r38257

File:
1 edited

Legend:

Unmodified
Added
Removed
  • branches/attitude_adjustment/package/mac80211/patches/300-pending_work.patch

    r38256 r38258  
    11061106                changed |= IEEE80211_CONF_CHANGE_POWER; 
    11071107                local->hw.conf.power_level = power; 
     1108--- a/net/mac80211/cfg.c 
     1109+++ b/net/mac80211/cfg.c 
     1110@@ -3332,7 +3332,7 @@ static int ieee80211_probe_client(struct 
     1111                return -EINVAL; 
     1112        } 
     1113        band = chanctx_conf->def.chan->band; 
     1114-       sta = sta_info_get(sdata, peer); 
     1115+       sta = sta_info_get_bss(sdata, peer); 
     1116        if (sta) { 
     1117                qos = test_sta_flag(sta, WLAN_STA_WME); 
     1118        } else { 
     1119--- a/net/mac80211/status.c 
     1120+++ b/net/mac80211/status.c 
     1121@@ -180,6 +180,9 @@ static void ieee80211_frame_acked(struct 
     1122        struct ieee80211_local *local = sta->local; 
     1123        struct ieee80211_sub_if_data *sdata = sta->sdata; 
     1124  
     1125+       if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS) 
     1126+               sta->last_rx = jiffies; 
     1127+ 
     1128        if (ieee80211_is_data_qos(mgmt->frame_control)) { 
     1129                struct ieee80211_hdr *hdr = (void *) skb->data; 
     1130                u8 *qc = ieee80211_get_qos_ctl(hdr); 
     1131--- a/net/mac80211/tx.c 
     1132+++ b/net/mac80211/tx.c 
     1133@@ -1101,7 +1101,8 @@ ieee80211_tx_prepare(struct ieee80211_su 
     1134                tx->sta = rcu_dereference(sdata->u.vlan.sta); 
     1135                if (!tx->sta && sdata->dev->ieee80211_ptr->use_4addr) 
     1136                        return TX_DROP; 
     1137-       } else if (info->flags & IEEE80211_TX_CTL_INJECTED || 
     1138+       } else if (info->flags & (IEEE80211_TX_CTL_INJECTED | 
     1139+                                 IEEE80211_TX_INTFL_NL80211_FRAME_TX) || 
     1140                   tx->sdata->control_port_protocol == tx->skb->protocol) { 
     1141                tx->sta = sta_info_get_bss(sdata, hdr->addr1); 
     1142        } 
Note: See TracChangeset for help on using the changeset viewer.