summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-03-24 20:39:08 +0000
committersam <sam@FreeBSD.org>2009-03-24 20:39:08 +0000
commit88b91b235f5ae6e04f407012ae5eb0da3d64facc (patch)
tree082efe3e253ba758a9687229364efee996a6bfae /sys/net80211/ieee80211.c
parentff1a464cfe436346fa187a3148a6067339e4cd2b (diff)
downloadFreeBSD-src-88b91b235f5ae6e04f407012ae5eb0da3d64facc.zip
FreeBSD-src-88b91b235f5ae6e04f407012ae5eb0da3d64facc.tar.gz
split Atheros SuperG support out into it's own file that's included only
with a new IEEE80211_SUPPORT_SUPERG option
Diffstat (limited to 'sys/net80211/ieee80211.c')
-rw-r--r--sys/net80211/ieee80211.c23
1 files changed, 19 insertions, 4 deletions
diff --git a/sys/net80211/ieee80211.c b/sys/net80211/ieee80211.c
index 217f04d..40af9bb 100644
--- a/sys/net80211/ieee80211.c
+++ b/sys/net80211/ieee80211.c
@@ -46,6 +46,9 @@ __FBSDID("$FreeBSD$");
#include <net80211/ieee80211_var.h>
#include <net80211/ieee80211_regdomain.h>
+#ifdef IEEE80211_SUPPORT_SUPERG
+#include <net80211/ieee80211_superg.h>
+#endif
#include <net/bpf.h>
@@ -264,6 +267,9 @@ ieee80211_ifattach(struct ieee80211com *ic)
ieee80211_node_attach(ic);
ieee80211_power_attach(ic);
ieee80211_proto_attach(ic);
+#ifdef IEEE80211_SUPPORT_SUPERG
+ ieee80211_superg_attach(ic);
+#endif
ieee80211_ht_attach(ic);
ieee80211_scan_attach(ic);
ieee80211_regdomain_attach(ic);
@@ -306,6 +312,9 @@ ieee80211_ifdetach(struct ieee80211com *ic)
ieee80211_sysctl_detach(ic);
ieee80211_regdomain_detach(ic);
ieee80211_scan_detach(ic);
+#ifdef IEEE80211_SUPPORT_SUPERG
+ ieee80211_superg_detach(ic);
+#endif
ieee80211_ht_detach(ic);
/* NB: must be called before ieee80211_node_detach */
ieee80211_proto_detach(ic);
@@ -415,10 +424,6 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ieee80211vap *vap,
vap->iv_flags |= IEEE80211_F_WME;
if (vap->iv_caps & IEEE80211_C_BURST)
vap->iv_flags |= IEEE80211_F_BURST;
- if (vap->iv_caps & IEEE80211_C_FF)
- vap->iv_flags |= IEEE80211_F_FF;
- if (vap->iv_caps & IEEE80211_C_TURBOP)
- vap->iv_flags |= IEEE80211_F_TURBOP;
/* NB: bg scanning only makes sense for station mode right now */
if (vap->iv_opmode == IEEE80211_M_STA &&
(vap->iv_caps & IEEE80211_C_BGSCAN))
@@ -445,6 +450,9 @@ ieee80211_vap_setup(struct ieee80211com *ic, struct ieee80211vap *vap,
ieee80211_node_vattach(vap);
ieee80211_power_vattach(vap);
ieee80211_proto_vattach(vap);
+#ifdef IEEE80211_SUPPORT_SUPERG
+ ieee80211_superg_vattach(vap);
+#endif
ieee80211_ht_vattach(vap);
ieee80211_scan_vattach(vap);
ieee80211_regdomain_vattach(vap);
@@ -497,7 +505,9 @@ ieee80211_vap_attach(struct ieee80211vap *vap,
IEEE80211_LOCK(ic);
TAILQ_INSERT_TAIL(&ic->ic_vaps, vap, iv_next);
ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
+#ifdef IEEE80211_SUPPORT_SUPERG
ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
+#endif
ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
@@ -545,7 +555,9 @@ ieee80211_vap_detach(struct ieee80211vap *vap)
TAILQ_REMOVE(&ic->ic_vaps, vap, iv_next);
ieee80211_syncflag_locked(ic, IEEE80211_F_WME);
+#ifdef IEEE80211_SUPPORT_SUPERG
ieee80211_syncflag_locked(ic, IEEE80211_F_TURBOP);
+#endif
ieee80211_syncflag_locked(ic, IEEE80211_F_PCF);
ieee80211_syncflag_locked(ic, IEEE80211_F_BURST);
ieee80211_syncflag_ext_locked(ic, IEEE80211_FEXT_HT);
@@ -562,6 +574,9 @@ ieee80211_vap_detach(struct ieee80211vap *vap)
ieee80211_regdomain_vdetach(vap);
ieee80211_scan_vdetach(vap);
+#ifdef IEEE80211_SUPPORT_SUPERG
+ ieee80211_superg_vdetach(vap);
+#endif
ieee80211_ht_vdetach(vap);
/* NB: must be before ieee80211_node_vdetach */
ieee80211_proto_vdetach(vap);
OpenPOWER on IntegriCloud