summaryrefslogtreecommitdiffstats
path: root/net/wireless/sme.c
diff options
context:
space:
mode:
authorDavid Spinadel <david.spinadel@intel.com>2016-09-22 22:16:50 +0200
committerJohannes Berg <johannes.berg@intel.com>2016-09-30 13:19:10 +0200
commitb8676221f00dd5b6018f0fd88cd278f93e11143a (patch)
treef8e0667b2c0125479b0a72c0ca572c32109d2237 /net/wireless/sme.c
parentmac80211: Move ieee802111_tx_dequeue() to later in tx.c (diff)
downloadlinux-b8676221f00dd5b6018f0fd88cd278f93e11143a.tar.xz
linux-b8676221f00dd5b6018f0fd88cd278f93e11143a.zip
cfg80211: Add support for static WEP in the driver
Add support for drivers that implement static WEP internally, i.e. expose connection keys to the driver in connect flow and don't upload the keys after the connection. Signed-off-by: David Spinadel <david.spinadel@intel.com> Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Diffstat (limited to 'net/wireless/sme.c')
-rw-r--r--net/wireless/sme.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/net/wireless/sme.c b/net/wireless/sme.c
index c08a3b57dca1..a77db333927e 100644
--- a/net/wireless/sme.c
+++ b/net/wireless/sme.c
@@ -726,7 +726,8 @@ void __cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
wdev->current_bss = bss_from_pub(bss);
- cfg80211_upload_connect_keys(wdev);
+ if (!(wdev->wiphy->flags & WIPHY_FLAG_HAS_STATIC_WEP))
+ cfg80211_upload_connect_keys(wdev);
rcu_read_lock();
country_ie = ieee80211_bss_get_ie(bss, WLAN_EID_COUNTRY);
@@ -1043,6 +1044,9 @@ int cfg80211_connect(struct cfg80211_registered_device *rdev,
connect->crypto.ciphers_pairwise[0] = cipher;
}
}
+
+ connect->crypto.wep_keys = connkeys->params;
+ connect->crypto.wep_tx_key = connkeys->def;
} else {
if (WARN_ON(connkeys))
return -EINVAL;