summaryrefslogtreecommitdiffstats
path: root/net/wireless/wext-compat.c
diff options
context:
space:
mode:
authorDavid Kilroy <kilroyd@googlemail.com>2009-06-19 00:21:14 +0200
committerJohn W. Linville <linville@tuxdriver.com>2009-07-10 21:01:42 +0200
commit3daf097594d398b2ddd2dca6caeaa92cb9148e23 (patch)
treec7bc5ca18acbc26dde4bfd2df1859f3c35390365 /net/wireless/wext-compat.c
parentcfg80211: add wrapper function to get wiphy from priv pointer (diff)
downloadlinux-3daf097594d398b2ddd2dca6caeaa92cb9148e23.tar.xz
linux-3daf097594d398b2ddd2dca6caeaa92cb9148e23.zip
cfg80211: Advertise ciphers via WE according to driver capability
Signed-off-by: David Kilroy <kilroyd@googlemail.com> Acked-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'net/wireless/wext-compat.c')
-rw-r--r--net/wireless/wext-compat.c15
1 files changed, 13 insertions, 2 deletions
diff --git a/net/wireless/wext-compat.c b/net/wireless/wext-compat.c
index 9e56f3569e3e..7dbe6c62e5c8 100644
--- a/net/wireless/wext-compat.c
+++ b/net/wireless/wext-compat.c
@@ -204,8 +204,19 @@ int cfg80211_wext_giwrange(struct net_device *dev,
range->avg_qual.noise = range->max_qual.noise / 2;
range->avg_qual.updated = range->max_qual.updated;
- range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
- IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
+ range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2;
+
+ for (c = 0; c < wdev->wiphy->n_cipher_suites; c++) {
+ switch (wdev->wiphy->cipher_suites[c]) {
+ case WLAN_CIPHER_SUITE_TKIP:
+ range->enc_capa |= IW_ENC_CAPA_CIPHER_TKIP;
+ break;
+
+ case WLAN_CIPHER_SUITE_CCMP:
+ range->enc_capa |= IW_ENC_CAPA_CIPHER_CCMP;
+ break;
+ }
+ }
for (band = 0; band < IEEE80211_NUM_BANDS; band ++) {
int i;