|
@@ -672,12 +672,15 @@ static void hostapd_event_eapol_rx(struct hostapd_data *hapd, const u8 *src,
|
|
const u8 *data, size_t data_len)
|
|
const u8 *data, size_t data_len)
|
|
{
|
|
{
|
|
struct hostapd_iface *iface = hapd->iface;
|
|
struct hostapd_iface *iface = hapd->iface;
|
|
|
|
+ struct sta_info *sta;
|
|
size_t j;
|
|
size_t j;
|
|
|
|
|
|
for (j = 0; j < iface->num_bss; j++) {
|
|
for (j = 0; j < iface->num_bss; j++) {
|
|
- if (ap_get_sta(iface->bss[j], src)) {
|
|
|
|
- hapd = iface->bss[j];
|
|
|
|
- break;
|
|
|
|
|
|
+ if ((sta = ap_get_sta(iface->bss[j], src))) {
|
|
|
|
+ if (sta->flags & WLAN_STA_ASSOC) {
|
|
|
|
+ hapd = iface->bss[j];
|
|
|
|
+ break;
|
|
|
|
+ }
|
|
}
|
|
}
|
|
}
|
|
}
|
|
|
|
|