diff options
author | Bjoern A. Zeeb <bz@FreeBSD.org> | 2023-10-03 21:14:55 +0000 |
---|---|---|
committer | Bjoern A. Zeeb <bz@FreeBSD.org> | 2023-10-03 21:18:29 +0000 |
commit | 6c38c6b1b917957d420902213f318bf0153214f2 (patch) | |
tree | 37681f748078da9b9644fd39f317faadbce1f2f3 | |
parent | 1e99b2ee90956f275c3668e92a408400f2dada1c (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.c | 3 |
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); } |