mac80211: dont add BSS when creating IBSS

There's no need to create a BSS struct only to pass it to
ieee80211_sta_join_ibss, so refactor this function into
__ieee80211_sta_join_ibss which takes all the relevant
paramters, and ieee80211_sta_join_ibss which takes a BSS
struct (used when joining an IBSS that already has other
members).

Signed-off-by: Johannes Berg <johannes@sipsolutions.net>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
Johannes Berg
2009-02-10 21:25:56 +01:00
committed by John W. Linville
parent 2a51931192
commit 99cf5f5f35
3 changed files with 60 additions and 58 deletions

View File

@@ -14,11 +14,7 @@
/* TODO:
* figure out how to avoid that the "current BSS" expires
* clean up IBSS code (in MLME), see why it adds a BSS to the list
* use cfg80211's BSS handling (depends on IBSS TODO above)
* order BSS list by RSSI(?) ("quality of AP")
* scan result table filtering (by capability (privacy, IBSS/BSS, WPA/RSN IE,
* SSID)
* use cfg80211's BSS handling
*/
#include <linux/wireless.h>
@@ -107,7 +103,7 @@ static void __ieee80211_rx_bss_hash_del(struct ieee80211_local *local,
}
}
struct ieee80211_bss *
static struct ieee80211_bss *
ieee80211_rx_bss_add(struct ieee80211_local *local, u8 *bssid, int freq,
u8 *ssid, u8 ssid_len)
{