From 146939a716a4607b3a21b2bf822ba06a12c08b9f Mon Sep 17 00:00:00 2001 From: Andreas Schultz Date: Tue, 5 Apr 2016 13:06:00 +0200 Subject: [PATCH] delete station from kmod before reusing it The AC is supposed to react to WiFi Authorization requests with Add Station messages. Such an Add Station will fail with the station is already present in the data path. A Authorization request for a station that the WTP already in authorized state means that the station lost its assoziation without the WTP detecting that. So, clearing it from the data path seems to be appropriate. --- src/wtp/binding/ieee80211/wifi_drivers.c | 2 ++ 1 file changed, 2 insertions(+) diff --git a/src/wtp/binding/ieee80211/wifi_drivers.c b/src/wtp/binding/ieee80211/wifi_drivers.c index 30ad86b..365af9e 100644 --- a/src/wtp/binding/ieee80211/wifi_drivers.c +++ b/src/wtp/binding/ieee80211/wifi_drivers.c @@ -308,6 +308,8 @@ static struct wifi_station* wifi_station_create(struct wifi_wlan* wlan, const ui /* */ station = wifi_station_get(NULL, address); if (station) { + wtp_kmod_del_station(wlan->radioid, address); + if (station->wlan && (station->wlan != wlan)) { log_printf(LOG_INFO, "Roaming station: %s", buffer); wifi_wlan_deauthentication_station(station->wlan, station, IEEE80211_REASON_PREV_AUTH_NOT_VALID, 1);