Commit cab1c7fd authored by Wojciech Dubowik's avatar Wojciech Dubowik Committed by Johannes Berg

mac80211: fix ieee80211_sta_tx_notify for nullfunc

Function ieee80211_sta_reset_conn_monitor has been
resetting probe_send_count too early and nullfunc
check was never called after succesfull ack.
Reported-by: default avatarMagnus Cederlöf <mcider@gmail.com>
Tested-by: default avatarMagnus Cederlöf <mcider@gmail.com>
Signed-off-by: default avatarWojciech Dubowik <Wojciech.Dubowik@neratec.com>
Signed-off-by: default avatarJohannes Berg <johannes.berg@intel.com>
parent 39886b61
...@@ -1637,17 +1637,18 @@ void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata, ...@@ -1637,17 +1637,18 @@ void ieee80211_sta_tx_notify(struct ieee80211_sub_if_data *sdata,
if (!ieee80211_is_data(hdr->frame_control)) if (!ieee80211_is_data(hdr->frame_control))
return; return;
if (ack)
ieee80211_sta_reset_conn_monitor(sdata);
if (ieee80211_is_nullfunc(hdr->frame_control) && if (ieee80211_is_nullfunc(hdr->frame_control) &&
sdata->u.mgd.probe_send_count > 0) { sdata->u.mgd.probe_send_count > 0) {
if (ack) if (ack)
sdata->u.mgd.probe_send_count = 0; ieee80211_sta_reset_conn_monitor(sdata);
else else
sdata->u.mgd.nullfunc_failed = true; sdata->u.mgd.nullfunc_failed = true;
ieee80211_queue_work(&sdata->local->hw, &sdata->work); ieee80211_queue_work(&sdata->local->hw, &sdata->work);
return;
} }
if (ack)
ieee80211_sta_reset_conn_monitor(sdata);
} }
static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata) static void ieee80211_mgd_probe_ap_send(struct ieee80211_sub_if_data *sdata)
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment