mac80211: fix key flush handling in AP+STA
Signed-off-by: Felix Fietkau <nbd@openwrt.org> SVN-Revision: 43079
This commit is contained in:
parent
ba48074622
commit
e6da32c086
3 changed files with 37 additions and 2 deletions
|
@ -0,0 +1,12 @@
|
|||
Used for AP+STA support in OpenWrt - preserve AP mode keys across STA reconnects
|
||||
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -846,7 +846,6 @@ static int ieee80211_stop_ap(struct wiph
|
||||
sdata->u.ap.driver_smps_mode = IEEE80211_SMPS_OFF;
|
||||
|
||||
__sta_info_flush(sdata, true);
|
||||
- ieee80211_free_keys(sdata, true);
|
||||
|
||||
sdata->vif.bss_conf.enable_beacon = false;
|
||||
sdata->vif.bss_conf.ssid_len = 0;
|
|
@ -0,0 +1,23 @@
|
|||
From: Felix Fietkau <nbd@openwrt.org>
|
||||
Date: Mon, 27 Oct 2014 11:50:28 +0100
|
||||
Subject: [PATCH] mac80211: flush keys for AP mode on ieee80211_do_stop
|
||||
|
||||
Userspace can add keys to an AP mode interface before start_ap has been
|
||||
called. If there have been no calls to start_ap/stop_ap in the mean
|
||||
time, the keys will still be around when the interface is brought down.
|
||||
|
||||
Signed-off-by: Felix Fietkau <nbd@openwrt.org>
|
||||
---
|
||||
|
||||
--- a/net/mac80211/iface.c
|
||||
+++ b/net/mac80211/iface.c
|
||||
@@ -931,9 +931,6 @@ static void ieee80211_do_stop(struct iee
|
||||
* another CPU.
|
||||
*/
|
||||
ieee80211_free_keys(sdata, true);
|
||||
-
|
||||
- /* fall through */
|
||||
- case NL80211_IFTYPE_AP:
|
||||
skb_queue_purge(&sdata->skb_queue);
|
||||
}
|
||||
|
|
@ -57,7 +57,7 @@
|
|||
__NL80211_ATTR_AFTER_LAST,
|
||||
--- a/net/mac80211/cfg.c
|
||||
+++ b/net/mac80211/cfg.c
|
||||
@@ -2092,6 +2092,19 @@ static int ieee80211_get_tx_power(struct
|
||||
@@ -2091,6 +2091,19 @@ static int ieee80211_get_tx_power(struct
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -77,7 +77,7 @@
|
|||
static int ieee80211_set_wds_peer(struct wiphy *wiphy, struct net_device *dev,
|
||||
const u8 *addr)
|
||||
{
|
||||
@@ -3573,6 +3586,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
@@ -3572,6 +3585,7 @@ const struct cfg80211_ops mac80211_confi
|
||||
.set_wiphy_params = ieee80211_set_wiphy_params,
|
||||
.set_tx_power = ieee80211_set_tx_power,
|
||||
.get_tx_power = ieee80211_get_tx_power,
|
||||
|
|
Loading…
Reference in a new issue