aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--drivers/net/wireless/hostap/hostap_ioctl.c3
-rw-r--r--drivers/net/wireless/ipw2200.c2
-rw-r--r--include/linux/wireless.h13
-rw-r--r--net/mac80211/ieee80211_ioctl.c2
4 files changed, 20 insertions, 0 deletions
diff --git a/drivers/net/wireless/hostap/hostap_ioctl.c b/drivers/net/wireless/hostap/hostap_ioctl.c
index d8f5efcfcab9..3a57d48cc360 100644
--- a/drivers/net/wireless/hostap/hostap_ioctl.c
+++ b/drivers/net/wireless/hostap/hostap_ioctl.c
@@ -1089,6 +1089,9 @@ static int prism2_ioctl_giwrange(struct net_device *dev,
1089 range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 | 1089 range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
1090 IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP; 1090 IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
1091 1091
1092 if (local->sta_fw_ver >= PRISM2_FW_VER(1,3,1))
1093 range->scan_capa = IW_SCAN_CAPA_ESSID;
1094
1092 return 0; 1095 return 0;
1093} 1096}
1094 1097
diff --git a/drivers/net/wireless/ipw2200.c b/drivers/net/wireless/ipw2200.c
index 003f73f89efa..be31304dfad5 100644
--- a/drivers/net/wireless/ipw2200.c
+++ b/drivers/net/wireless/ipw2200.c
@@ -8912,6 +8912,8 @@ static int ipw_wx_get_range(struct net_device *dev,
8912 range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 | 8912 range->enc_capa = IW_ENC_CAPA_WPA | IW_ENC_CAPA_WPA2 |
8913 IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP; 8913 IW_ENC_CAPA_CIPHER_TKIP | IW_ENC_CAPA_CIPHER_CCMP;
8914 8914
8915 range->scan_capa = IW_SCAN_CAPA_ESSID | IW_SCAN_CAPA_TYPE;
8916
8915 IPW_DEBUG_WX("GET Range\n"); 8917 IPW_DEBUG_WX("GET Range\n");
8916 return 0; 8918 return 0;
8917} 8919}
diff --git a/include/linux/wireless.h b/include/linux/wireless.h
index 0987aa7a6cf5..74e84caa1e20 100644
--- a/include/linux/wireless.h
+++ b/include/linux/wireless.h
@@ -541,6 +541,16 @@
541/* Maximum size of returned data */ 541/* Maximum size of returned data */
542#define IW_SCAN_MAX_DATA 4096 /* In bytes */ 542#define IW_SCAN_MAX_DATA 4096 /* In bytes */
543 543
544/* Scan capability flags - in (struct iw_range *)->scan_capa */
545#define IW_SCAN_CAPA_NONE 0x00
546#define IW_SCAN_CAPA_ESSID 0x01
547#define IW_SCAN_CAPA_BSSID 0x02
548#define IW_SCAN_CAPA_CHANNEL 0x04
549#define IW_SCAN_CAPA_MODE 0x08
550#define IW_SCAN_CAPA_RATE 0x10
551#define IW_SCAN_CAPA_TYPE 0x20
552#define IW_SCAN_CAPA_TIME 0x40
553
544/* Max number of char in custom event - use multiple of them if needed */ 554/* Max number of char in custom event - use multiple of them if needed */
545#define IW_CUSTOM_MAX 256 /* In bytes */ 555#define IW_CUSTOM_MAX 256 /* In bytes */
546 556
@@ -963,6 +973,9 @@ struct iw_range
963 __u16 old_num_channels; 973 __u16 old_num_channels;
964 __u8 old_num_frequency; 974 __u8 old_num_frequency;
965 975
976 /* Scan capabilities */
977 __u8 scan_capa; /* IW_SCAN_CAPA_* bit field */
978
966 /* Wireless event capability bitmasks */ 979 /* Wireless event capability bitmasks */
967 __u32 event_capa[6]; 980 __u32 event_capa[6];
968 981
diff --git a/net/mac80211/ieee80211_ioctl.c b/net/mac80211/ieee80211_ioctl.c
index 161f3bdec41b..04ddce76135b 100644
--- a/net/mac80211/ieee80211_ioctl.c
+++ b/net/mac80211/ieee80211_ioctl.c
@@ -218,6 +218,8 @@ static int ieee80211_ioctl_giwrange(struct net_device *dev,
218 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWAP); 218 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWAP);
219 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWSCAN); 219 IW_EVENT_CAPA_SET(range->event_capa, SIOCGIWSCAN);
220 220
221 range->scan_capa |= IW_SCAN_CAPA_ESSID;
222
221 return 0; 223 return 0;
222} 224}
223 225