mirror of https://gitee.com/openkylin/linux.git
mac80211: removed useless code in IBSS management
ieee82011_sta_find_ibss() and ieee80211_sta_merge_ibss() are always called with a defined state. So it's useless to check it or set it in those function. Signed-off-by: Benoit Papillault <benoit.papillault@free.fr> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
2703205967
commit
ce9058aedd
|
@ -454,6 +454,9 @@ static int ieee80211_sta_active_ibss(struct ieee80211_sub_if_data *sdata)
|
|||
return active;
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is called with state == IEEE80211_IBSS_MLME_JOINED
|
||||
*/
|
||||
|
||||
static void ieee80211_sta_merge_ibss(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
|
@ -519,6 +522,10 @@ static void ieee80211_sta_create_ibss(struct ieee80211_sub_if_data *sdata)
|
|||
capability, 0);
|
||||
}
|
||||
|
||||
/*
|
||||
* This function is called with state == IEEE80211_IBSS_MLME_SEARCH
|
||||
*/
|
||||
|
||||
static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
|
||||
{
|
||||
struct ieee80211_if_ibss *ifibss = &sdata->u.ibss;
|
||||
|
@ -575,18 +582,14 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
|
|||
#endif /* CONFIG_MAC80211_IBSS_DEBUG */
|
||||
|
||||
/* Selected IBSS not found in current scan results - try to scan */
|
||||
if (ifibss->state == IEEE80211_IBSS_MLME_JOINED &&
|
||||
!ieee80211_sta_active_ibss(sdata)) {
|
||||
mod_timer(&ifibss->timer,
|
||||
round_jiffies(jiffies + IEEE80211_IBSS_MERGE_INTERVAL));
|
||||
} else if (time_after(jiffies, ifibss->last_scan_completed +
|
||||
if (time_after(jiffies, ifibss->last_scan_completed +
|
||||
IEEE80211_SCAN_INTERVAL)) {
|
||||
printk(KERN_DEBUG "%s: Trigger new scan to find an IBSS to "
|
||||
"join\n", sdata->name);
|
||||
|
||||
ieee80211_request_internal_scan(sdata, ifibss->ssid,
|
||||
ifibss->ssid_len);
|
||||
} else if (ifibss->state != IEEE80211_IBSS_MLME_JOINED) {
|
||||
} else {
|
||||
int interval = IEEE80211_SCAN_INTERVAL;
|
||||
|
||||
if (time_after(jiffies, ifibss->ibss_join_req +
|
||||
|
@ -604,7 +607,6 @@ static void ieee80211_sta_find_ibss(struct ieee80211_sub_if_data *sdata)
|
|||
interval = IEEE80211_SCAN_INTERVAL_SLOW;
|
||||
}
|
||||
|
||||
ifibss->state = IEEE80211_IBSS_MLME_SEARCH;
|
||||
mod_timer(&ifibss->timer,
|
||||
round_jiffies(jiffies + interval));
|
||||
}
|
||||
|
|
Loading…
Reference in New Issue