Ignore TX status for Data frames from not associated STA

Commit d9a38716cc did this for
hostapd_eapol_tx_status() but missed the older hostapd_tx_status()
path. Address that case, too.

The TX status event may be received after a station has been
disassociated in cases where the disassociation is following a
transmission of a Data frame. Ignore such events if the STA is not
associated at the moment the event is being processed. This avoids
confusing debug entries and rescheduling of the EAPOL TX timeouts for
STAs that are still in the STA table, but are not really in active EAPOL
session.

Signed-hostap: Jouni Malinen <j@w1.fi>
intended-for: hostap-1
This commit is contained in:
Jouni Malinen 2012-02-14 21:04:14 +02:00
parent ff22d1e10e
commit 0c01d65d6d

View file

@ -1738,7 +1738,7 @@ void hostapd_tx_status(struct hostapd_data *hapd, const u8 *addr,
break; break;
} }
} }
if (sta == NULL) if (sta == NULL || !(sta->flags & WLAN_STA_ASSOC))
return; return;
if (sta->flags & WLAN_STA_PENDING_POLL) { if (sta->flags & WLAN_STA_PENDING_POLL) {
wpa_printf(MSG_DEBUG, "STA " MACSTR " %s pending " wpa_printf(MSG_DEBUG, "STA " MACSTR " %s pending "