-Index: madwifi-dfs-r3053/net80211/ieee80211_beacon.c
-===================================================================
---- madwifi-dfs-r3053.orig/net80211/ieee80211_beacon.c 2008-01-10 10:51:31.406580318 +0100
-+++ madwifi-dfs-r3053/net80211/ieee80211_beacon.c 2008-01-10 10:56:54.040966203 +0100
-@@ -538,9 +538,9 @@
+--- a/net80211/ieee80211_beacon.c
++++ b/net80211/ieee80211_beacon.c
+@@ -542,10 +542,10 @@ ieee80211_beacon_update(struct ieee80211
vap->iv_flags &= ~IEEE80211_F_XRUPDATE;
}
#endif
-- if ((ic->ic_flags_ext & IEEE80211_FEXT_ERPUPDATE) && (bo->bo_erp != NULL)) {
-+ if ((vap->iv_flags_ext & IEEE80211_FEXT_ERPUPDATE) && (bo->bo_erp != NULL)) {
- (void) ieee80211_add_erp(bo->bo_erp, ic);
+- 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 */
-Index: madwifi-dfs-r3053/net80211/ieee80211_input.c
-===================================================================
---- madwifi-dfs-r3053.orig/net80211/ieee80211_input.c 2008-01-10 10:51:31.558588981 +0100
-+++ madwifi-dfs-r3053/net80211/ieee80211_input.c 2008-01-10 10:55:51.565405916 +0100
-@@ -3315,9 +3315,12 @@
+--- a/net80211/ieee80211_input.c
++++ b/net80211/ieee80211_input.c
+@@ -3431,9 +3431,12 @@ ieee80211_recv_mgmt(struct ieee80211vap
/* Assume no ERP IE == 11b AP */
if ((!has_erp || (has_erp && (scan.erp & IEEE80211_ERP_NON_ERP_PRESENT))) &&
!(ic->ic_flags & IEEE80211_F_USEPROT)) {
}
}
-Index: madwifi-dfs-r3053/net80211/ieee80211_node.c
-===================================================================
---- madwifi-dfs-r3053.orig/net80211/ieee80211_node.c 2008-01-10 10:51:31.622592626 +0100
-+++ madwifi-dfs-r3053/net80211/ieee80211_node.c 2008-01-10 10:54:58.398376106 +0100
-@@ -1998,8 +1998,12 @@
+--- a/net80211/ieee80211_node.c
++++ b/net80211/ieee80211_node.c
+@@ -2025,8 +2025,12 @@ ieee80211_node_join_11g(struct ieee80211
}
/* Update ERP element if this is first non ERP station */
} else
ni->ni_flags |= IEEE80211_NODE_ERP;
}
-@@ -2202,6 +2206,8 @@
+@@ -2229,6 +2233,8 @@ ieee80211_node_leave_11g(struct ieee8021
IEEE80211_NOTE(vap, IEEE80211_MSG_ASSOC, ni,
"non-ERP station leaves, count now %d", ic->ic_nonerpsta);
if (ic->ic_nonerpsta == 0) {
IEEE80211_DPRINTF(vap, IEEE80211_MSG_ASSOC,
"%s: disable use of protection\n", __func__);
ic->ic_flags &= ~IEEE80211_F_USEPROT;
-@@ -2213,7 +2219,9 @@
+@@ -2240,7 +2246,9 @@ ieee80211_node_leave_11g(struct ieee8021
ic->ic_flags |= IEEE80211_F_SHPREAMBLE;
ic->ic_flags &= ~IEEE80211_F_USEBARKER;
}