|
@@ -893,8 +893,7 @@ void ieee80211_send_nullfunc(struct ieee80211_local *local,
|
|
|
if (local->hw.flags & IEEE80211_HW_REPORTS_TX_ACK_STATUS)
|
|
|
IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_CTL_REQ_TX_STATUS;
|
|
|
|
|
|
- if (ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
|
|
|
- IEEE80211_STA_CONNECTION_POLL))
|
|
|
+ if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL)
|
|
|
IEEE80211_SKB_CB(skb)->flags |= IEEE80211_TX_CTL_USE_MINRATE;
|
|
|
|
|
|
ieee80211_tx_skb(sdata, skb);
|
|
@@ -1374,8 +1373,7 @@ static bool ieee80211_powersave_allowed(struct ieee80211_sub_if_data *sdata)
|
|
|
if (!mgd->associated)
|
|
|
return false;
|
|
|
|
|
|
- if (mgd->flags & (IEEE80211_STA_BEACON_POLL |
|
|
|
- IEEE80211_STA_CONNECTION_POLL))
|
|
|
+ if (mgd->flags & IEEE80211_STA_CONNECTION_POLL)
|
|
|
return false;
|
|
|
|
|
|
if (!mgd->have_beacon)
|
|
@@ -1691,8 +1689,7 @@ static void __ieee80211_stop_poll(struct ieee80211_sub_if_data *sdata)
|
|
|
{
|
|
|
lockdep_assert_held(&sdata->local->mtx);
|
|
|
|
|
|
- sdata->u.mgd.flags &= ~(IEEE80211_STA_CONNECTION_POLL |
|
|
|
- IEEE80211_STA_BEACON_POLL);
|
|
|
+ sdata->u.mgd.flags &= ~IEEE80211_STA_CONNECTION_POLL;
|
|
|
ieee80211_run_deferred_scan(sdata->local);
|
|
|
}
|
|
|
|
|
@@ -1954,11 +1951,8 @@ static void ieee80211_reset_ap_probe(struct ieee80211_sub_if_data *sdata)
|
|
|
struct ieee80211_local *local = sdata->local;
|
|
|
|
|
|
mutex_lock(&local->mtx);
|
|
|
- if (!(ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
|
|
|
- IEEE80211_STA_CONNECTION_POLL))) {
|
|
|
- mutex_unlock(&local->mtx);
|
|
|
- return;
|
|
|
- }
|
|
|
+ if (!(ifmgd->flags & IEEE80211_STA_CONNECTION_POLL))
|
|
|
+ goto out;
|
|
|
|
|
|
__ieee80211_stop_poll(sdata);
|
|
|
|
|
@@ -2094,15 +2088,9 @@ static void ieee80211_mgd_probe_ap(struct ieee80211_sub_if_data *sdata,
|
|
|
* because otherwise we would reset the timer every time and
|
|
|
* never check whether we received a probe response!
|
|
|
*/
|
|
|
- if (ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
|
|
|
- IEEE80211_STA_CONNECTION_POLL))
|
|
|
+ if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL)
|
|
|
already = true;
|
|
|
|
|
|
- if (beacon)
|
|
|
- ifmgd->flags |= IEEE80211_STA_BEACON_POLL;
|
|
|
- else
|
|
|
- ifmgd->flags |= IEEE80211_STA_CONNECTION_POLL;
|
|
|
-
|
|
|
mutex_unlock(&sdata->local->mtx);
|
|
|
|
|
|
if (already)
|
|
@@ -3061,17 +3049,10 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
|
|
|
}
|
|
|
}
|
|
|
|
|
|
- if (ifmgd->flags & IEEE80211_STA_BEACON_POLL) {
|
|
|
+ if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL) {
|
|
|
mlme_dbg_ratelimited(sdata,
|
|
|
"cancelling AP probe due to a received beacon\n");
|
|
|
- mutex_lock(&local->mtx);
|
|
|
- ifmgd->flags &= ~IEEE80211_STA_BEACON_POLL;
|
|
|
- ieee80211_run_deferred_scan(local);
|
|
|
- mutex_unlock(&local->mtx);
|
|
|
-
|
|
|
- mutex_lock(&local->iflist_mtx);
|
|
|
- ieee80211_recalc_ps(local, -1);
|
|
|
- mutex_unlock(&local->iflist_mtx);
|
|
|
+ ieee80211_reset_ap_probe(sdata);
|
|
|
}
|
|
|
|
|
|
/*
|
|
@@ -3543,8 +3524,7 @@ void ieee80211_sta_work(struct ieee80211_sub_if_data *sdata)
|
|
|
} else if (ifmgd->assoc_data && ifmgd->assoc_data->timeout_started)
|
|
|
run_again(sdata, ifmgd->assoc_data->timeout);
|
|
|
|
|
|
- if (ifmgd->flags & (IEEE80211_STA_BEACON_POLL |
|
|
|
- IEEE80211_STA_CONNECTION_POLL) &&
|
|
|
+ if (ifmgd->flags & IEEE80211_STA_CONNECTION_POLL &&
|
|
|
ifmgd->associated) {
|
|
|
u8 bssid[ETH_ALEN];
|
|
|
int max_tries;
|