aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBjoern A. Zeeb <bz@FreeBSD.org>2023-10-03 21:14:55 +0000
committerBjoern A. Zeeb <bz@FreeBSD.org>2023-10-03 21:18:29 +0000
commit6c38c6b1b917957d420902213f318bf0153214f2 (patch)
tree37681f748078da9b9644fd39f317faadbce1f2f3
parent1e99b2ee90956f275c3668e92a408400f2dada1c (diff)
LinuxKPI: 802.11: fix re-creation of VAP
After dbf7691999abe (as indicated in that commit message) EEXISTS errors may be seen. From current investigation that is due to the single-VAP support in LinuxKPI 802.11 and the related calls to mo_start() and mo_stop() and them being disabled in ic_parent() currently. Calling mo_stop() in lkpi_ic_vap_delete() seems to fix the problem and new VAPs (wlan interfaces) can be created again after being destroyed. Fixes: dbf7691999abe ("improve lkpi_ic_vap_delete()") Sponsored by: The FreeBSD Foundation MFC after: 3 days
-rw-r--r--sys/compat/linuxkpi/common/src/linux_80211.c3
1 files changed, 3 insertions, 0 deletions
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
index 7565f491606b..9f5f5bef7f27 100644
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -2481,6 +2481,9 @@ lkpi_ic_vap_delete(struct ieee80211vap *vap)
lkpi_80211_mo_remove_interface(hw, vif);
+ /* Single VAP, so we can do this here. */
+ lkpi_80211_mo_stop(hw);
+
mtx_destroy(&lvif->mtx);
free(lvif, M_80211_VAP);
}