mirror of https://gitee.com/openkylin/linux.git
mac80211: clean up BA session teardown
The sta_info pointer can very well be passed to ieee80211_sta_tear_down_BA_sessions, this will later allow us to pass it through even further. Signed-off-by: Johannes Berg <johannes@sipsolutions.net> Signed-off-by: John W. Linville <linville@tuxdriver.com>
This commit is contained in:
parent
55687e380a
commit
2dace10efb
|
@ -153,15 +153,15 @@ u32 ieee80211_enable_ht(struct ieee80211_sub_if_data *sdata,
|
|||
return changed;
|
||||
}
|
||||
|
||||
void ieee80211_sta_tear_down_BA_sessions(struct ieee80211_sub_if_data *sdata, u8 *addr)
|
||||
void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta)
|
||||
{
|
||||
struct ieee80211_local *local = sdata->local;
|
||||
struct ieee80211_local *local = sta->local;
|
||||
int i;
|
||||
|
||||
for (i = 0; i < STA_TID_NUM; i++) {
|
||||
ieee80211_stop_tx_ba_session(&local->hw, addr, i,
|
||||
ieee80211_stop_tx_ba_session(&local->hw, sta->sta.addr, i,
|
||||
WLAN_BACK_INITIATOR);
|
||||
ieee80211_sta_stop_rx_ba_session(sdata, addr, i,
|
||||
ieee80211_sta_stop_rx_ba_session(sta->sdata, sta->sta.addr, i,
|
||||
WLAN_BACK_RECIPIENT,
|
||||
WLAN_REASON_QSTA_LEAVE_QBSS);
|
||||
}
|
||||
|
|
|
@ -993,7 +993,7 @@ void ieee80211_send_delba(struct ieee80211_sub_if_data *sdata,
|
|||
|
||||
void ieee80211_sta_stop_rx_ba_session(struct ieee80211_sub_if_data *sdata, u8 *da,
|
||||
u16 tid, u16 initiator, u16 reason);
|
||||
void ieee80211_sta_tear_down_BA_sessions(struct ieee80211_sub_if_data *sdata, u8 *addr);
|
||||
void ieee80211_sta_tear_down_BA_sessions(struct sta_info *sta);
|
||||
void ieee80211_process_delba(struct ieee80211_sub_if_data *sdata,
|
||||
struct sta_info *sta,
|
||||
struct ieee80211_mgmt *mgmt, size_t len);
|
||||
|
|
|
@ -362,8 +362,7 @@ static int ieee80211_stop(struct net_device *dev)
|
|||
|
||||
list_for_each_entry_rcu(sta, &local->sta_list, list) {
|
||||
if (sta->sdata == sdata)
|
||||
ieee80211_sta_tear_down_BA_sessions(sdata,
|
||||
sta->sta.addr);
|
||||
ieee80211_sta_tear_down_BA_sessions(sta);
|
||||
}
|
||||
|
||||
rcu_read_unlock();
|
||||
|
|
|
@ -954,7 +954,7 @@ static void ieee80211_set_disassoc(struct ieee80211_sub_if_data *sdata,
|
|||
netif_tx_stop_all_queues(sdata->dev);
|
||||
netif_carrier_off(sdata->dev);
|
||||
|
||||
ieee80211_sta_tear_down_BA_sessions(sdata, sta->sta.addr);
|
||||
ieee80211_sta_tear_down_BA_sessions(sta);
|
||||
|
||||
if (self_disconnected) {
|
||||
if (deauth)
|
||||
|
|
Loading…
Reference in New Issue