diff options
author | Johannes Berg <johannes.berg@intel.com> | 2010-08-10 03:46:41 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-08-16 16:45:21 -0400 |
commit | 5daa8a8e691e28c6c725e7e91319b160b555c615 (patch) | |
tree | 61996afc92c70e16a27fdee190295cc00b223151 /net | |
parent | dc1580ddfc1f70636f6ef80a385902f7e8278deb (diff) |
mac80211: dont advertise WEP if unavailable
When WEP is unavailable, don't advertise it
to cfg80211.
Signed-off-by: Johannes Berg <johannes.berg@intel.com>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net')
-rw-r--r-- | net/mac80211/main.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/net/mac80211/main.c b/net/mac80211/main.c index 06b9608a2130..0afccda42a24 100644 --- a/net/mac80211/main.c +++ b/net/mac80211/main.c | |||
@@ -536,6 +536,7 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
536 | int channels, max_bitrates; | 536 | int channels, max_bitrates; |
537 | bool supp_ht; | 537 | bool supp_ht; |
538 | static const u32 cipher_suites[] = { | 538 | static const u32 cipher_suites[] = { |
539 | /* keep WEP first, it may be removed below */ | ||
539 | WLAN_CIPHER_SUITE_WEP40, | 540 | WLAN_CIPHER_SUITE_WEP40, |
540 | WLAN_CIPHER_SUITE_WEP104, | 541 | WLAN_CIPHER_SUITE_WEP104, |
541 | WLAN_CIPHER_SUITE_TKIP, | 542 | WLAN_CIPHER_SUITE_TKIP, |
@@ -623,6 +624,10 @@ int ieee80211_register_hw(struct ieee80211_hw *hw) | |||
623 | local->hw.wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); | 624 | local->hw.wiphy->n_cipher_suites = ARRAY_SIZE(cipher_suites); |
624 | if (!(local->hw.flags & IEEE80211_HW_MFP_CAPABLE)) | 625 | if (!(local->hw.flags & IEEE80211_HW_MFP_CAPABLE)) |
625 | local->hw.wiphy->n_cipher_suites--; | 626 | local->hw.wiphy->n_cipher_suites--; |
627 | if (IS_ERR(local->wep_tx_tfm) || IS_ERR(local->wep_rx_tfm)) { | ||
628 | local->hw.wiphy->cipher_suites += 2; | ||
629 | local->hw.wiphy->n_cipher_suites -= 2; | ||
630 | } | ||
626 | 631 | ||
627 | result = wiphy_register(local->hw.wiphy); | 632 | result = wiphy_register(local->hw.wiphy); |
628 | if (result < 0) | 633 | if (result < 0) |