summaryrefslogtreecommitdiff
path: root/net
diff options
context:
space:
mode:
authorBob Copeland <me@bobcopeland.com>2015-06-13 10:16:31 -0400
committerSasha Levin <sasha.levin@oracle.com>2015-10-07 10:04:31 -0400
commit0e90b248e7871c8a8fc1af5e73055e2d15778a79 (patch)
tree33b080b358fde5372cd761dee685275c8f1be4da /net
parent39691ddadf465c59313fb27adb0dbe0975b2b5f5 (diff)
mac80211: enable assoc check for mesh interfaces
[ Upstream commit 3633ebebab2bbe88124388b7620442315c968e8f ] We already set a station to be associated when peering completes, both in user space and in the kernel. Thus we should always have an associated sta before sending data frames to that station. Failure to check assoc state can cause crashes in the lower-level driver due to transmitting unicast data frames before driver sta structures (e.g. ampdu state in ath9k) are initialized. This occurred when forwarding in the presence of fixed mesh paths: frames were transmitted to stations with whom we hadn't yet completed peering. Cc: stable@vger.kernel.org Reported-by: Alexis Green <agreen@cococorp.com> Tested-by: Jesse Jones <jjones@cococorp.com> Signed-off-by: Bob Copeland <me@bobcopeland.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com> Signed-off-by: Sasha Levin <sasha.levin@oracle.com>
Diffstat (limited to 'net')
-rw-r--r--net/mac80211/tx.c3
1 files changed, 0 insertions, 3 deletions
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c
index 80ce44f6693d..45e782825567 100644
--- a/net/mac80211/tx.c
+++ b/net/mac80211/tx.c
@@ -299,9 +299,6 @@ ieee80211_tx_h_check_assoc(struct ieee80211_tx_data *tx)
if (tx->sdata->vif.type == NL80211_IFTYPE_WDS)
return TX_CONTINUE;
- if (tx->sdata->vif.type == NL80211_IFTYPE_MESH_POINT)
- return TX_CONTINUE;
-
if (tx->flags & IEEE80211_TX_PS_BUFFERED)
return TX_CONTINUE;