aboutsummaryrefslogtreecommitdiffstats
path: root/hostapd/sta_info.c
diff options
context:
space:
mode:
Diffstat (limited to 'hostapd/sta_info.c')
-rw-r--r--hostapd/sta_info.c10
1 files changed, 2 insertions, 8 deletions
diff --git a/hostapd/sta_info.c b/hostapd/sta_info.c
index 281079a..8b0e51e 100644
--- a/hostapd/sta_info.c
+++ b/hostapd/sta_info.c
@@ -168,7 +168,6 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
printf(" Could not get station info from kernel driver.\n");
/* assume the station has expired */
param.u.get_info_sta.inactive_sec = AP_MAX_INACTIVITY + 1;
- param.u.get_info_sta.txexc = 1;
}
if (param.u.get_info_sta.inactive_sec < AP_MAX_INACTIVITY) {
@@ -179,7 +178,7 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
next_time = AP_MAX_INACTIVITY -
param.u.get_info_sta.inactive_sec;
} else if (sta->timeout_next == STA_DISASSOC &&
- param.u.get_info_sta.txexc == 0) {
+ !(sta->flags & WLAN_STA_PENDING_POLL)) {
HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL,
" Station has ACKed data poll\n");
/* data nullfunc frame poll did not produce TX errors; assume
@@ -201,12 +200,7 @@ void ap_handle_timer(void *eloop_ctx, void *timeout_ctx)
HOSTAPD_DEBUG(HOSTAPD_DEBUG_MINIMAL,
" Polling STA with data frame\n");
- memset(&param, 0, sizeof(param));
- param.cmd = PRISM2_HOSTAPD_RESET_TXEXC_STA;
- memcpy(param.sta_addr, sta->addr, ETH_ALEN);
- if (hostapd_ioctl(hapd, &param, sizeof(param))) {
- printf(" Could not reset station TX Exc counter\n");
- }
+ sta->flags |= WLAN_STA_PENDING_POLL;
/* FIX: WLAN_FC_STYPE_NULLFUNC would be more appropriate, but
* it is apparently not retried so TX Exc events are not