Changeset 41827


Ignore:
Timestamp:
2014-07-25T16:24:03+02:00 (4 years ago)
Author:
nbd
Message:

mac80211: merge a few WDS-AP related fixes (#14756, #16802)

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

File:
1 edited

Legend:

Unmodified
Added
Removed
  • trunk/package/kernel/mac80211/patches/300-pending_work.patch

    r41815 r41827  
     1commit 15ed54948f508ad1baad79c30050e2d29a21696d 
     2Author: Felix Fietkau <nbd@openwrt.org> 
     3Date:   Fri Jul 25 16:18:03 2014 +0200 
     4 
     5    mac80211: fix smps mode check for AP_VLAN 
     6     
     7    In ieee80211_sta_ps_deliver_wakeup, sdata->smps_mode is checked. This is 
     8    initialized only for the base AP interface, not the individual VLANs. 
     9     
     10    Signed-off-by: Felix Fietkau <nbd@openwrt.org> 
     11 
     12commit bc74ad816bba291359ae46301173ea744bdda9d2 
     13Author: Felix Fietkau <nbd@openwrt.org> 
     14Date:   Fri Jul 25 16:15:44 2014 +0200 
     15 
     16    mac80211: ignore AP_VLAN in ieee80211_recalc_chanctx_chantype 
     17     
     18    When bringing down the AP, a WARN_ON is hit because the bss config chandef 
     19    is empty here. 
     20    Since AP_VLAN channel settings do not matter for anything chanctx related 
     21    (always inherits the settings from the AP interface), let's just ignore 
     22    it here. 
     23     
     24    Signed-off-by: Felix Fietkau <nbd@openwrt.org> 
     25 
    126commit ff354dbdd743e5fe186df8cd17982db19f78231a 
    227Author: Felix Fietkau <nbd@openwrt.org> 
     
    646671        mutex_init(&sta->ampdu_mlme.mtx); 
    647672 #ifdef CPTCFG_MAC80211_MESH 
    648 @@ -1140,8 +1137,15 @@ void ieee80211_sta_ps_deliver_wakeup(str 
     673@@ -1101,8 +1098,11 @@ void ieee80211_sta_ps_deliver_wakeup(str 
     674        unsigned long flags; 
     675        struct ps_data *ps; 
     676  
     677-       if (sdata->vif.type == NL80211_IFTYPE_AP || 
     678-           sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 
     679+       if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 
     680+               sdata = container_of(sdata->bss, struct ieee80211_sub_if_data, 
     681+                                    u.ap); 
     682+ 
     683+       if (sdata->vif.type == NL80211_IFTYPE_AP) 
     684                ps = &sdata->bss->ps; 
     685        else if (ieee80211_vif_is_mesh(&sdata->vif)) 
     686                ps = &sdata->u.mesh.ps; 
     687@@ -1140,8 +1140,15 @@ void ieee80211_sta_ps_deliver_wakeup(str 
    649688        } 
    650689  
     
    664703  
    665704        atomic_dec(&ps->num_sta_ps); 
    666 @@ -1542,10 +1546,26 @@ void ieee80211_sta_block_awake(struct ie 
     705@@ -1542,10 +1549,26 @@ void ieee80211_sta_block_awake(struct ie 
    667706  
    668707        trace_api_sta_block_awake(sta->local, pubsta, block); 
     
    694733 EXPORT_SYMBOL(ieee80211_sta_block_awake); 
    695734  
    696 @@ -1703,3 +1723,140 @@ u8 sta_info_tx_streams(struct sta_info * 
     735@@ -1703,3 +1726,140 @@ u8 sta_info_tx_streams(struct sta_info * 
    697736        return ((ht_cap->mcs.tx_params & IEEE80211_HT_MCS_TX_MAX_STREAMS_MASK) 
    698737                        >> IEEE80211_HT_MCS_TX_MAX_STREAMS_SHIFT) + 1; 
     
    30603099  
    30613100        if (txctl->an && ieee80211_is_data_present(hdr->frame_control)) 
     3101--- a/net/mac80211/chan.c 
     3102+++ b/net/mac80211/chan.c 
     3103@@ -521,6 +521,8 @@ static void ieee80211_recalc_chanctx_cha 
     3104                        continue; 
     3105                if (rcu_access_pointer(sdata->vif.chanctx_conf) != conf) 
     3106                        continue; 
     3107+               if (sdata->vif.type == NL80211_IFTYPE_AP_VLAN) 
     3108+                       continue; 
     3109  
     3110                if (!compat) 
     3111                        compat = &sdata->vif.bss_conf.chandef; 
Note: See TracChangeset for help on using the changeset viewer.