Message ID | 1434204991-9579-1-git-send-email-me@bobcopeland.com (mailing list archive) |
---|---|
State | Accepted |
Delegated to: | Johannes Berg |
Headers | show |
On Sat, 2015-06-13 at 10:16 -0400, Bob Copeland wrote: > 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. Applied. johannes -- To unsubscribe from this list: send the line "unsubscribe linux-wireless" in the body of a message to majordomo@vger.kernel.org More majordomo info at http://vger.kernel.org/majordomo-info.html
diff --git a/net/mac80211/tx.c b/net/mac80211/tx.c index 8410bb3..d580f86 100644 --- a/net/mac80211/tx.c +++ b/net/mac80211/tx.c @@ -311,9 +311,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;