mac80211: fix WDS AP authentication issues (#11261, #11318)
authorFelix Fietkau <nbd@openwrt.org>
Sun, 29 Apr 2012 13:47:37 +0000 (13:47 +0000)
committerFelix Fietkau <nbd@openwrt.org>
Sun, 29 Apr 2012 13:47:37 +0000 (13:47 +0000)
SVN-Revision: 31517

package/mac80211/patches/300-pending_work.patch
package/mac80211/patches/550-mac80211_optimize_mcs_rate_mask.patch

index 79d8277..668005b 100644 (file)
                /*
                 * No associated STAs - no need to send multicast
                 * frames.
+@@ -1159,7 +1159,8 @@ ieee80211_tx_prepare(struct ieee80211_su
+               tx->sta = rcu_dereference(sdata->u.vlan.sta);
+               if (!tx->sta && sdata->dev->ieee80211_ptr->use_4addr)
+                       return TX_DROP;
+-      } else if (info->flags & IEEE80211_TX_CTL_INJECTED) {
++      } else if (info->flags & IEEE80211_TX_CTL_INJECTED ||
++                 tx->sdata->control_port_protocol == tx->skb->protocol) {
+               tx->sta = sta_info_get_bss(sdata, hdr->addr1);
+       }
+       if (!tx->sta)
index a7e1fc1..71dae84 100644 (file)
@@ -69,7 +69,7 @@
        txrc.bss = (tx->sdata->vif.type == NL80211_IFTYPE_AP ||
                    tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT ||
                    tx->sdata->vif.type == NL80211_IFTYPE_ADHOC);
-@@ -2479,8 +2481,6 @@ struct sk_buff *ieee80211_beacon_get_tim
+@@ -2480,8 +2482,6 @@ struct sk_buff *ieee80211_beacon_get_tim
                txrc.max_rate_idx = -1;
        else
                txrc.max_rate_idx = fls(txrc.rate_idx_mask) - 1;