diff --git a/src/ap/ieee802_11.c b/src/ap/ieee802_11.c index efcc27a50..6c516bc8a 100644 --- a/src/ap/ieee802_11.c +++ b/src/ap/ieee802_11.c @@ -6647,6 +6647,7 @@ static void handle_assoc_cb(struct hostapd_data *hapd, if ((sta->flags & WLAN_STA_WDS) || (sta->flags & WLAN_STA_MULTI_AP && (hapd->conf->multi_ap & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) { int ret; char ifname_wds[IFNAMSIZ + 1]; diff --git a/src/ap/sta_info.c b/src/ap/sta_info.c index 24ba86b11..13613dbab 100644 --- a/src/ap/sta_info.c +++ b/src/ap/sta_info.c @@ -235,6 +235,7 @@ void ap_free_sta(struct hostapd_data *hapd, struct sta_info *sta) if ((sta->flags & WLAN_STA_WDS) || (sta->flags & WLAN_STA_MULTI_AP && (hapd->conf->multi_ap & BACKHAUL_BSS) && + hapd->conf->wds_sta && !(sta->flags & WLAN_STA_WPS))) hostapd_set_wds_sta(hapd, NULL, sta->addr, sta->aid, 0);