summaryrefslogtreecommitdiffstats
path: root/net/wireless/mlme.c
diff options
context:
space:
mode:
authorDavid S. Miller2016-12-10 04:59:05 +0100
committerDavid S. Miller2016-12-10 04:59:05 +0100
commit5ac9efbe1c825d624eb557e633683c07ee03465b (patch)
tree05bde543deaac0b0af5854bb48d883a9b58db8eb /net/wireless/mlme.c
parentMerge branch 'udp-receive-path-optimizations' (diff)
parentcfg80211/mac80211: fix BSS leaks when abandoning assoc attempts (diff)
downloadkernel-qcow2-linux-5ac9efbe1c825d624eb557e633683c07ee03465b.tar.gz
kernel-qcow2-linux-5ac9efbe1c825d624eb557e633683c07ee03465b.tar.xz
kernel-qcow2-linux-5ac9efbe1c825d624eb557e633683c07ee03465b.zip
Merge tag 'mac80211-next-for-davem-2016-12-09' of git://git.kernel.org/pub/scm/linux/kernel/git/jberg/mac80211-next
Johannes Berg says: ==================== Three fixes: * fix a logic bug introduced by a previous cleanup * fix nl80211 attribute confusing (trying to use a single attribute for two purposes) * fix a long-standing BSS leak that happens when an association attempt is abandoned ==================== Signed-off-by: David S. Miller <davem@davemloft.net>
Diffstat (limited to 'net/wireless/mlme.c')
-rw-r--r--net/wireless/mlme.c12
1 files changed, 12 insertions, 0 deletions
diff --git a/net/wireless/mlme.c b/net/wireless/mlme.c
index bd1f7a159d6a..4646cf5695b9 100644
--- a/net/wireless/mlme.c
+++ b/net/wireless/mlme.c
@@ -149,6 +149,18 @@ void cfg80211_assoc_timeout(struct net_device *dev, struct cfg80211_bss *bss)
}
EXPORT_SYMBOL(cfg80211_assoc_timeout);
+void cfg80211_abandon_assoc(struct net_device *dev, struct cfg80211_bss *bss)
+{
+ struct wireless_dev *wdev = dev->ieee80211_ptr;
+ struct wiphy *wiphy = wdev->wiphy;
+
+ cfg80211_sme_abandon_assoc(wdev);
+
+ cfg80211_unhold_bss(bss_from_pub(bss));
+ cfg80211_put_bss(wiphy, bss);
+}
+EXPORT_SYMBOL(cfg80211_abandon_assoc);
+
void cfg80211_tx_mlme_mgmt(struct net_device *dev, const u8 *buf, size_t len)
{
struct wireless_dev *wdev = dev->ieee80211_ptr;