aboutsummaryrefslogtreecommitdiffstats
path: root/include
diff options
context:
space:
mode:
authorJouni Malinen <jouni.malinen@atheros.com>2011-05-16 12:40:15 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-05-19 10:37:18 -0400
commited9d01026f156db2d638cbb045231c7a8fde877d (patch)
tree0c99c25b87973112db1b8464e5ad429cd943786f /include
parent79d2b1570bcc31b846ccb2114a34e98ca87bf1d9 (diff)
cfg80211: Use consistent BSS matching between scan and sme
cfg80211 scan code adds separate BSS entries if the same BSS shows up on multiple channels. However, sme implementation does not use the frequency when fetching the BSS entry. Fix this by adding channel information to cfg80211_roamed() and include it in cfg80211_get_bss() calls. Please note that drivers using cfg80211_roamed() need to be modified to fully implement this fix. This commit includes only minimal changes to avoid compilation issues; it maintains the old (broken) behavior for most drivers. ath6kl was the only one that I could test, so I updated it to provide the operating frequency in the roamed event. Signed-off-by: Jouni Malinen <jouni.malinen@atheros.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'include')
-rw-r--r--include/net/cfg80211.h5
1 files changed, 4 insertions, 1 deletions
diff --git a/include/net/cfg80211.h b/include/net/cfg80211.h
index bfd6557946be..727131b67421 100644
--- a/include/net/cfg80211.h
+++ b/include/net/cfg80211.h
@@ -2878,6 +2878,7 @@ void cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
2878 * cfg80211_roamed - notify cfg80211 of roaming 2878 * cfg80211_roamed - notify cfg80211 of roaming
2879 * 2879 *
2880 * @dev: network device 2880 * @dev: network device
2881 * @channel: the channel of the new AP
2881 * @bssid: the BSSID of the new AP 2882 * @bssid: the BSSID of the new AP
2882 * @req_ie: association request IEs (maybe be %NULL) 2883 * @req_ie: association request IEs (maybe be %NULL)
2883 * @req_ie_len: association request IEs length 2884 * @req_ie_len: association request IEs length
@@ -2888,7 +2889,9 @@ void cfg80211_connect_result(struct net_device *dev, const u8 *bssid,
2888 * It should be called by the underlying driver whenever it roamed 2889 * It should be called by the underlying driver whenever it roamed
2889 * from one AP to another while connected. 2890 * from one AP to another while connected.
2890 */ 2891 */
2891void cfg80211_roamed(struct net_device *dev, const u8 *bssid, 2892void cfg80211_roamed(struct net_device *dev,
2893 struct ieee80211_channel *channel,
2894 const u8 *bssid,
2892 const u8 *req_ie, size_t req_ie_len, 2895 const u8 *req_ie, size_t req_ie_len,
2893 const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp); 2896 const u8 *resp_ie, size_t resp_ie_len, gfp_t gfp);
2894 2897