summaryrefslogtreecommitdiffstats
path: root/sys/net80211/ieee80211_adhoc.c
diff options
context:
space:
mode:
authorsam <sam@FreeBSD.org>2009-04-26 21:03:29 +0000
committersam <sam@FreeBSD.org>2009-04-26 21:03:29 +0000
commit4ce505aeb1fc7df6cacd7f2471b45ca0297397d3 (patch)
tree20c2e200901c77c256af3278d3b980f9ad89e9dd /sys/net80211/ieee80211_adhoc.c
parent151f899628ad49224d1a8f06ef68d7e75bd6a9cf (diff)
downloadFreeBSD-src-4ce505aeb1fc7df6cacd7f2471b45ca0297397d3.zip
FreeBSD-src-4ce505aeb1fc7df6cacd7f2471b45ca0297397d3.tar.gz
o use shared code to handle bpf tap and mbuf cleanup
o swap conditional order to put the cheapest first
Diffstat (limited to 'sys/net80211/ieee80211_adhoc.c')
-rw-r--r--sys/net80211/ieee80211_adhoc.c7
1 files changed, 2 insertions, 5 deletions
diff --git a/sys/net80211/ieee80211_adhoc.c b/sys/net80211/ieee80211_adhoc.c
index 445b1bb..ff13acb 100644
--- a/sys/net80211/ieee80211_adhoc.c
+++ b/sys/net80211/ieee80211_adhoc.c
@@ -637,11 +637,8 @@ adhoc_input(struct ieee80211_node *ni, struct mbuf *m,
vap->iv_stats.is_rx_mgtdiscard++; /* XXX */
goto out;
}
- if (bpf_peers_present(vap->iv_rawbpf))
- bpf_mtap(vap->iv_rawbpf, m);
vap->iv_recv_mgmt(ni, m, subtype, rssi, noise, rstamp);
- m_freem(m);
- return IEEE80211_FC0_TYPE_MGT;
+ goto out;
case IEEE80211_FC0_TYPE_CTL:
vap->iv_stats.is_rx_ctl++;
@@ -657,7 +654,7 @@ err:
ifp->if_ierrors++;
out:
if (m != NULL) {
- if (bpf_peers_present(vap->iv_rawbpf) && need_tap)
+ if (need_tap && bpf_peers_present(vap->iv_rawbpf))
bpf_mtap(vap->iv_rawbpf, m);
m_freem(m);
}
OpenPOWER on IntegriCloud