diff options
author | Felix Fietkau <nbd@openwrt.org> | 2013-04-27 09:56:18 +0000 |
---|---|---|
committer | Felix Fietkau <nbd@openwrt.org> | 2013-04-27 09:56:18 +0000 |
commit | 6a2dd833cf45b38dbef679b38032b6ad00d0d9b3 (patch) | |
tree | edfa6cb74761d07a33663799eee3586b8a4bff3b | |
parent | fab1ddff733b47a9d1180b05e8b0a450392eff34 (diff) | |
download | master-31e0f0ae-6a2dd833cf45b38dbef679b38032b6ad00d0d9b3.tar.gz master-31e0f0ae-6a2dd833cf45b38dbef679b38032b6ad00d0d9b3.tar.bz2 master-31e0f0ae-6a2dd833cf45b38dbef679b38032b6ad00d0d9b3.zip |
ath9k: fix keycache handling with many connected clients
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
SVN-Revision: 36467
-rw-r--r-- | package/mac80211/patches/300-pending_work.patch | 27 |
1 files changed, 27 insertions, 0 deletions
diff --git a/package/mac80211/patches/300-pending_work.patch b/package/mac80211/patches/300-pending_work.patch index d47c6261ef..92bf897b2a 100644 --- a/package/mac80211/patches/300-pending_work.patch +++ b/package/mac80211/patches/300-pending_work.patch @@ -76,6 +76,33 @@ } /* Called with sc->mutex held. */ +@@ -1327,6 +1332,7 @@ static int ath9k_sta_add(struct ieee8021 + struct ath_common *common = ath9k_hw_common(sc->sc_ah); + struct ath_node *an = (struct ath_node *) sta->drv_priv; + struct ieee80211_key_conf ps_key = { }; ++ int key; + + ath_node_attach(sc, sta, vif); + +@@ -1334,7 +1340,9 @@ static int ath9k_sta_add(struct ieee8021 + vif->type != NL80211_IFTYPE_AP_VLAN) + return 0; + +- an->ps_key = ath_key_config(common, vif, sta, &ps_key); ++ key = ath_key_config(common, vif, sta, &ps_key); ++ if (key > 0) ++ an->ps_key = key; + + return 0; + } +@@ -1351,6 +1359,7 @@ static void ath9k_del_ps_key(struct ath_ + return; + + ath_key_delete(common, &ps_key); ++ an->ps_key = 0; + } + + static int ath9k_sta_remove(struct ieee80211_hw *hw, --- a/drivers/net/wireless/ath/ath9k/reg.h +++ b/drivers/net/wireless/ath/ath9k/reg.h @@ -1493,9 +1493,6 @@ enum { |