Browse Source

Force driver to disassociate STA if no room for the STA entry

When hostapd (or wpa_supplicant AP mode) limits the maximum number
of STA entries with a driver that implements SME, the driver needs
to be notified of the failed STA addition. Disassociate the STA if
the driver notifies of an association that would go beyond the
maximum number of STAs.

Signed-hostap: Jouni Malinen <jouni@qca.qualcomm.com>
Jouni Malinen 13 years ago
parent
commit
8bd0fc0e0c
1 changed files with 4 additions and 1 deletions
  1. 4 1
      src/ap/drv_callbacks.c

+ 4 - 1
src/ap/drv_callbacks.c

@@ -86,8 +86,11 @@ int hostapd_notif_assoc(struct hostapd_data *hapd, const u8 *addr,
 		sta->timeout_next = STA_NULLFUNC;
 	} else {
 		sta = ap_sta_add(hapd, addr);
-		if (sta == NULL)
+		if (sta == NULL) {
+			hostapd_drv_sta_disassoc(hapd, addr,
+						 WLAN_REASON_DISASSOC_AP_BUSY);
 			return -1;
+		}
 	}
 	sta->flags &= ~(WLAN_STA_WPS | WLAN_STA_MAYBE_WPS | WLAN_STA_WPS2);