mac80211: Drop out of associated state if link is lost
There is no point in staying in IEEE80211_ASSOCIATED if there is no sta_info entry to receive frames with. Signed-off-by: Michael Wu <flamingice@sourmilk.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
committed by
David S. Miller
parent
4486c5f510
commit
2d192d9552
@@ -808,12 +808,8 @@ static void ieee80211_associated(struct net_device *dev,
|
|||||||
sta_info_put(sta);
|
sta_info_put(sta);
|
||||||
}
|
}
|
||||||
if (disassoc) {
|
if (disassoc) {
|
||||||
union iwreq_data wrqu;
|
ifsta->state = IEEE80211_DISABLED;
|
||||||
memset(wrqu.ap_addr.sa_data, 0, ETH_ALEN);
|
ieee80211_set_associated(dev, ifsta, 0);
|
||||||
wrqu.ap_addr.sa_family = ARPHRD_ETHER;
|
|
||||||
wireless_send_event(dev, SIOCGIWAP, &wrqu, NULL);
|
|
||||||
mod_timer(&ifsta->timer, jiffies +
|
|
||||||
IEEE80211_MONITORING_INTERVAL + 30 * HZ);
|
|
||||||
} else {
|
} else {
|
||||||
mod_timer(&ifsta->timer, jiffies +
|
mod_timer(&ifsta->timer, jiffies +
|
||||||
IEEE80211_MONITORING_INTERVAL);
|
IEEE80211_MONITORING_INTERVAL);
|
||||||
|
Reference in New Issue
Block a user