|
@@ -936,7 +936,7 @@ void ieee80211_send_pspoll(struct ieee80211_local *local,
|
|
|
|
|
|
void ieee80211_send_nullfunc(struct ieee80211_local *local,
|
|
void ieee80211_send_nullfunc(struct ieee80211_local *local,
|
|
struct ieee80211_sub_if_data *sdata,
|
|
struct ieee80211_sub_if_data *sdata,
|
|
- int powersave)
|
|
|
|
|
|
+ bool powersave)
|
|
{
|
|
{
|
|
struct sk_buff *skb;
|
|
struct sk_buff *skb;
|
|
struct ieee80211_hdr_3addr *nullfunc;
|
|
struct ieee80211_hdr_3addr *nullfunc;
|
|
@@ -1420,7 +1420,7 @@ static void ieee80211_enable_ps(struct ieee80211_local *local,
|
|
msecs_to_jiffies(conf->dynamic_ps_timeout));
|
|
msecs_to_jiffies(conf->dynamic_ps_timeout));
|
|
} else {
|
|
} else {
|
|
if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK))
|
|
if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK))
|
|
- ieee80211_send_nullfunc(local, sdata, 1);
|
|
|
|
|
|
+ ieee80211_send_nullfunc(local, sdata, true);
|
|
|
|
|
|
if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK) &&
|
|
if (ieee80211_hw_check(&local->hw, PS_NULLFUNC_STACK) &&
|
|
ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS))
|
|
ieee80211_hw_check(&local->hw, REPORTS_TX_ACK_STATUS))
|
|
@@ -1635,7 +1635,7 @@ void ieee80211_dynamic_ps_enable_work(struct work_struct *work)
|
|
msecs_to_jiffies(
|
|
msecs_to_jiffies(
|
|
local->hw.conf.dynamic_ps_timeout));
|
|
local->hw.conf.dynamic_ps_timeout));
|
|
} else {
|
|
} else {
|
|
- ieee80211_send_nullfunc(local, sdata, 1);
|
|
|
|
|
|
+ ieee80211_send_nullfunc(local, sdata, true);
|
|
/* Flush to get the tx status of nullfunc frame */
|
|
/* Flush to get the tx status of nullfunc frame */
|
|
ieee80211_flush_queues(local, sdata, false);
|
|
ieee80211_flush_queues(local, sdata, false);
|
|
}
|
|
}
|
|
@@ -2268,7 +2268,7 @@ static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)
|
|
|
|
|
|
if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) {
|
|
if (ieee80211_hw_check(&sdata->local->hw, REPORTS_TX_ACK_STATUS)) {
|
|
ifmgd->nullfunc_failed = false;
|
|
ifmgd->nullfunc_failed = false;
|
|
- ieee80211_send_nullfunc(sdata->local, sdata, 0);
|
|
|
|
|
|
+ ieee80211_send_nullfunc(sdata->local, sdata, false);
|
|
} else {
|
|
} else {
|
|
int ssid_len;
|
|
int ssid_len;
|
|
|
|
|
|
@@ -3445,7 +3445,7 @@ static void ieee80211_rx_mgmt_beacon(struct ieee80211_sub_if_data *sdata,
|
|
ieee80211_hw_config(local,
|
|
ieee80211_hw_config(local,
|
|
IEEE80211_CONF_CHANGE_PS);
|
|
IEEE80211_CONF_CHANGE_PS);
|
|
}
|
|
}
|
|
- ieee80211_send_nullfunc(local, sdata, 0);
|
|
|
|
|
|
+ ieee80211_send_nullfunc(local, sdata, false);
|
|
} else if (!local->pspolling && sdata->u.mgd.powersave) {
|
|
} else if (!local->pspolling && sdata->u.mgd.powersave) {
|
|
local->pspolling = true;
|
|
local->pspolling = true;
|
|
|
|
|