+++ /dev/null
---- a/net80211/ieee80211_beacon.c
-+++ b/net80211/ieee80211_beacon.c
-@@ -544,10 +544,10 @@
- vap->iv_flags &= ~IEEE80211_F_XRUPDATE;
- }
- #endif
-- if ((ic->ic_flags_ext & IEEE80211_FEXT_ERPUPDATE) &&
-+ if ((vap->iv_flags_ext & IEEE80211_FEXT_ERPUPDATE) &&
- (bo->bo_erp != NULL)) {
- (void)ieee80211_add_erp(bo->bo_erp, ic);
-- ic->ic_flags_ext &= ~IEEE80211_FEXT_ERPUPDATE;
-+ vap->iv_flags_ext &= ~IEEE80211_FEXT_ERPUPDATE;
- }
- }
- /* if it is a mode change beacon for dynamic turbo case */
---- a/net80211/ieee80211_input.c
-+++ b/net80211/ieee80211_input.c
-@@ -3384,9 +3384,12 @@
- /* Assume no ERP IE == 11b AP */
- if ((!has_erp || (has_erp && (scan.erp & IEEE80211_ERP_NON_ERP_PRESENT))) &&
- !(ic->ic_flags & IEEE80211_F_USEPROT)) {
-+ struct ieee80211vap *tmpvap;
-
- ic->ic_flags |= IEEE80211_F_USEPROT;
-- ic->ic_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) {
-+ tmpvap->iv_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ }
- }
- }
-
---- a/net80211/ieee80211_node.c
-+++ b/net80211/ieee80211_node.c
-@@ -1741,8 +1741,12 @@
- }
-
- /* Update ERP element if this is first non ERP station */
-- if (ic->ic_nonerpsta == 1)
-- ic->ic_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ if (ic->ic_nonerpsta == 1) {
-+ struct ieee80211vap *tmpvap;
-+ TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) {
-+ tmpvap->iv_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ }
-+ }
- } else
- ni->ni_flags |= IEEE80211_NODE_ERP;
- }
-@@ -1945,6 +1949,8 @@
- IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC, ni,
- "non-ERP station leaves, count now %d", ic->ic_nonerpsta);
- if (ic->ic_nonerpsta == 0) {
-+ struct ieee80211vap *tmpvap;
-+
- IEEE80211_DPRINTF(vap, IEEE80211_MSG_ASSOC,
- "%s: disable use of protection\n", __func__);
- ic->ic_flags &= ~IEEE80211_F_USEPROT;
-@@ -1956,7 +1962,9 @@
- ic->ic_flags |= IEEE80211_F_SHPREAMBLE;
- ic->ic_flags &= ~IEEE80211_F_USEBARKER;
- }
-- ic->ic_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ TAILQ_FOREACH(tmpvap, &ic->ic_vaps, iv_next) {
-+ tmpvap->iv_flags_ext |= IEEE80211_FEXT_ERPUPDATE;
-+ }
- }
- }
- }