aboutsummaryrefslogtreecommitdiffstats
path: root/net
diff options
context:
space:
mode:
authorJeff Garzik <jeff@garzik.org>2007-05-09 18:54:49 -0400
committerJeff Garzik <jeff@garzik.org>2007-05-09 18:54:49 -0400
commit2c4f365ad2361c93c097e958b2b0a7a112750228 (patch)
tree83c046142a6e057f005b97b4b7356cd4ff7a9783 /net
parent3cb7396b7b26585b1ab7c1a8ca554ec103da5d37 (diff)
parent47c93d2faf9d7e94393852823480ea61c868caee (diff)
Merge branch 'upstream' of git://git.kernel.org/pub/scm/linux/kernel/git/linville/wireless-2.6 into upstream
Diffstat (limited to 'net')
-rw-r--r--net/ieee80211/ieee80211_geo.c16
-rw-r--r--net/ieee80211/ieee80211_wx.c8
2 files changed, 21 insertions, 3 deletions
diff --git a/net/ieee80211/ieee80211_geo.c b/net/ieee80211/ieee80211_geo.c
index 305a09de85a5..960ad13f5e9f 100644
--- a/net/ieee80211/ieee80211_geo.c
+++ b/net/ieee80211/ieee80211_geo.c
@@ -94,6 +94,21 @@ int ieee80211_channel_to_index(struct ieee80211_device *ieee, u8 channel)
94 return -1; 94 return -1;
95} 95}
96 96
97u32 ieee80211_channel_to_freq(struct ieee80211_device * ieee, u8 channel)
98{
99 const struct ieee80211_channel * ch;
100
101 /* Driver needs to initialize the geography map before using
102 * these helper functions */
103 if (ieee->geo.bg_channels == 0 && ieee->geo.a_channels == 0)
104 return 0;
105
106 ch = ieee80211_get_channel(ieee, channel);
107 if (!ch->channel)
108 return 0;
109 return ch->freq;
110}
111
97u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq) 112u8 ieee80211_freq_to_channel(struct ieee80211_device * ieee, u32 freq)
98{ 113{
99 int i; 114 int i;
@@ -174,6 +189,7 @@ EXPORT_SYMBOL(ieee80211_get_channel);
174EXPORT_SYMBOL(ieee80211_get_channel_flags); 189EXPORT_SYMBOL(ieee80211_get_channel_flags);
175EXPORT_SYMBOL(ieee80211_is_valid_channel); 190EXPORT_SYMBOL(ieee80211_is_valid_channel);
176EXPORT_SYMBOL(ieee80211_freq_to_channel); 191EXPORT_SYMBOL(ieee80211_freq_to_channel);
192EXPORT_SYMBOL(ieee80211_channel_to_freq);
177EXPORT_SYMBOL(ieee80211_channel_to_index); 193EXPORT_SYMBOL(ieee80211_channel_to_index);
178EXPORT_SYMBOL(ieee80211_set_geo); 194EXPORT_SYMBOL(ieee80211_set_geo);
179EXPORT_SYMBOL(ieee80211_get_geo); 195EXPORT_SYMBOL(ieee80211_get_geo);
diff --git a/net/ieee80211/ieee80211_wx.c b/net/ieee80211/ieee80211_wx.c
index cee5e13bc427..523a137d49dd 100644
--- a/net/ieee80211/ieee80211_wx.c
+++ b/net/ieee80211/ieee80211_wx.c
@@ -89,15 +89,17 @@ static char *ieee80211_translate_scan(struct ieee80211_device *ieee,
89 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_UINT_LEN); 89 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_UINT_LEN);
90 } 90 }
91 91
92 /* Add frequency/channel */ 92 /* Add channel and frequency */
93 iwe.cmd = SIOCGIWFREQ; 93 iwe.cmd = SIOCGIWFREQ;
94/* iwe.u.freq.m = ieee80211_frequency(network->channel, network->mode);
95 iwe.u.freq.e = 3; */
96 iwe.u.freq.m = network->channel; 94 iwe.u.freq.m = network->channel;
97 iwe.u.freq.e = 0; 95 iwe.u.freq.e = 0;
98 iwe.u.freq.i = 0; 96 iwe.u.freq.i = 0;
99 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN); 97 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN);
100 98
99 iwe.u.freq.m = ieee80211_channel_to_freq(ieee, network->channel);
100 iwe.u.freq.e = 6;
101 start = iwe_stream_add_event(start, stop, &iwe, IW_EV_FREQ_LEN);
102
101 /* Add encryption capability */ 103 /* Add encryption capability */
102 iwe.cmd = SIOCGIWENCODE; 104 iwe.cmd = SIOCGIWENCODE;
103 if (network->capability & WLAN_CAPABILITY_PRIVACY) 105 if (network->capability & WLAN_CAPABILITY_PRIVACY)