From c72bd6d49b39333b162196a245ba952037291674 Mon Sep 17 00:00:00 2001 From: Jouni Malinen Date: Wed, 11 Apr 2012 14:06:50 +0300 Subject: [PATCH] AP: Reset STA timeout_next on driver-based-SME association The next ap_handle_timer action was already cleared when association is handled with user space -based SME. However, this step was missing from the driver callback for indicating new association. This could result in the first ap_handle_timer timeout on the new association removing the station unexpectedly. Fix this by resetting the timeout_next in hostapd_notif_assoc(). Signed-hostap: Jouni Malinen intended-for: hostap-1 --- src/ap/drv_callbacks.c | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/ap/drv_callbacks.c b/src/ap/drv_callbacks.c index bd5b908fc..8d24e087e 100644 --- a/src/ap/drv_callbacks.c +++ b/src/ap/drv_callbacks.c @@ -78,6 +78,12 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr, sta = ap_get_sta(hapd, addr); if (sta) { accounting_sta_stop(hapd, sta); + + /* + * Make sure that the previously registered inactivity timer + * will not remove the STA immediately. + */ + sta->timeout_next = STA_NULLFUNC; } else { sta = ap_sta_add(hapd, addr); if (sta == NULL)