aboutsummaryrefslogtreecommitdiff
path: root/sys/net80211/ieee80211_radiotap.c
diff options
context:
space:
mode:
Diffstat (limited to 'sys/net80211/ieee80211_radiotap.c')
-rw-r--r--sys/net80211/ieee80211_radiotap.c15
1 files changed, 9 insertions, 6 deletions
diff --git a/sys/net80211/ieee80211_radiotap.c b/sys/net80211/ieee80211_radiotap.c
index 4d36be6df9f5..aa1812045953 100644
--- a/sys/net80211/ieee80211_radiotap.c
+++ b/sys/net80211/ieee80211_radiotap.c
@@ -110,12 +110,6 @@ ieee80211_radiotap_detach(struct ieee80211com *ic)
{
}
-void
-ieee80211_radiotap_vdetach(struct ieee80211vap *vap)
-{
- /* NB: bpfdetach is called by ether_ifdetach and claims all taps */
-}
-
static void
set_channel(void *p, const struct ieee80211_channel *c)
{
@@ -472,3 +466,12 @@ ieee80211_radiotap_vattach(struct ieee80211vap *vap)
if_ref(vap->iv_ifp);
}
}
+
+void
+ieee80211_radiotap_vdetach(struct ieee80211vap *vap)
+{
+ if (vap->iv_rawbpf != NULL) {
+ bpf_detach(vap->iv_rawbpf);
+ if_rele(vap->iv_ifp);
+ }
+}