Page Menu
Home
FreeBSD
Search
Configure Global Search
Log In
Files
F142815403
D42427.id129708.diff
No One
Temporary
Actions
View File
Edit File
Delete File
View Transforms
Subscribe
Mute Notifications
Flag For Later
Award Token
Size
20 KB
Referenced Files
None
Subscribers
None
D42427.id129708.diff
View Options
diff --git a/sys/compat/linuxkpi/common/src/linux_80211.c b/sys/compat/linuxkpi/common/src/linux_80211.c
--- a/sys/compat/linuxkpi/common/src/linux_80211.c
+++ b/sys/compat/linuxkpi/common/src/linux_80211.c
@@ -4155,7 +4155,6 @@
struct ieee80211_sta *sta, struct napi_struct *napi __unused,
struct list_head *list __unused)
{
- struct epoch_tracker et;
struct lkpi_hw *lhw;
struct ieee80211com *ic;
struct mbuf *m;
@@ -4372,7 +4371,6 @@
}
#endif
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
ok = ieee80211_input_mimo(ni, m);
ieee80211_free_node(ni);
@@ -4382,7 +4380,6 @@
ok = ieee80211_input_mimo_all(ic, m);
/* mbuf got consumed. */
}
- NET_EPOCH_EXIT(et);
#ifdef LINUXKPI_DEBUG_80211
if (linuxkpi_debug_80211 & D80211_TRACE_RX)
diff --git a/sys/dev/ath/if_ath_rx.c b/sys/dev/ath/if_ath_rx.c
--- a/sys/dev/ath/if_ath_rx.c
+++ b/sys/dev/ath/if_ath_rx.c
@@ -667,8 +667,6 @@
int is_good = 0;
struct ath_rx_edma *re = &sc->sc_rxedma[qtype];
- NET_EPOCH_ASSERT();
-
/*
* Calculate the correct 64 bit TSF given
* the TSF64 register value and rs_tstamp.
@@ -1090,8 +1088,6 @@
int kickpcu = 0;
int ret;
- NET_EPOCH_ASSERT();
-
/* XXX we must not hold the ATH_LOCK here */
ATH_UNLOCK_ASSERT(sc);
ATH_PCU_UNLOCK_ASSERT(sc);
@@ -1311,7 +1307,6 @@
ath_legacy_rx_tasklet(void *arg, int npending)
{
struct ath_softc *sc = arg;
- struct epoch_tracker et;
ATH_KTR(sc, ATH_KTR_RXPROC, 1, "ath_rx_proc: pending=%d", npending);
DPRINTF(sc, ATH_DEBUG_RX_PROC, "%s: pending %u\n", __func__, npending);
@@ -1324,18 +1319,14 @@
}
ATH_PCU_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
ath_rx_proc(sc, 1);
- NET_EPOCH_EXIT(et);
}
static void
ath_legacy_flushrecv(struct ath_softc *sc)
{
- struct epoch_tracker et;
- NET_EPOCH_ENTER(et);
+
ath_rx_proc(sc, 0);
- NET_EPOCH_EXIT(et);
}
static void
diff --git a/sys/dev/ath/if_ath_rx_edma.c b/sys/dev/ath/if_ath_rx_edma.c
--- a/sys/dev/ath/if_ath_rx_edma.c
+++ b/sys/dev/ath/if_ath_rx_edma.c
@@ -555,7 +555,6 @@
int16_t nf;
ath_bufhead rxlist;
struct mbuf *m;
- struct epoch_tracker et;
TAILQ_INIT(&rxlist);
@@ -572,8 +571,6 @@
TAILQ_CONCAT(&rxlist, &sc->sc_rx_rxlist[qtype], bf_list);
ATH_RX_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
-
/* Handle the completed descriptors */
/*
* XXX is this SAFE call needed? The ath_buf entries
@@ -597,7 +594,6 @@
if (ngood) {
sc->sc_lastrx = tsf;
}
- NET_EPOCH_EXIT(et);
ATH_KTR(sc, ATH_KTR_INTERRUPTS, 1,
"ath edma rx deferred proc: ngood=%d\n",
diff --git a/sys/dev/bwi/if_bwi.c b/sys/dev/bwi/if_bwi.c
--- a/sys/dev/bwi/if_bwi.c
+++ b/sys/dev/bwi/if_bwi.c
@@ -1503,7 +1503,6 @@
void
bwi_intr(void *xsc)
{
- struct epoch_tracker et;
struct bwi_softc *sc = xsc;
struct bwi_mac *mac;
uint32_t intr_status;
@@ -1623,9 +1622,7 @@
device_printf(sc->sc_dev, "intr noise\n");
if (txrx_intr_status[0] & BWI_TXRX_INTR_RX) {
- NET_EPOCH_ENTER(et);
rx_data = sc->sc_rxeof(sc);
- NET_EPOCH_EXIT(et);
if (sc->sc_flags & BWI_F_STOP) {
BWI_UNLOCK(sc);
return;
diff --git a/sys/dev/bwn/if_bwn.c b/sys/dev/bwn/if_bwn.c
--- a/sys/dev/bwn/if_bwn.c
+++ b/sys/dev/bwn/if_bwn.c
@@ -5075,7 +5075,6 @@
static void
bwn_intrtask(void *arg, int npending)
{
- struct epoch_tracker et;
struct bwn_mac *mac = arg;
struct bwn_softc *sc = mac->mac_sc;
uint32_t merged = 0;
@@ -5136,7 +5135,6 @@
if (mac->mac_reason_intr & BWN_INTR_NOISESAMPLE_OK)
bwn_intr_noise(mac);
- NET_EPOCH_ENTER(et);
if (mac->mac_flags & BWN_MAC_FLAG_DMA) {
if (mac->mac_reason[0] & BWN_DMAINTR_RX_DONE) {
bwn_dma_rx(mac->mac_method.dma.rx);
@@ -5144,7 +5142,6 @@
}
} else
rx = bwn_pio_rx(&mac->mac_method.pio.rx);
- NET_EPOCH_EXIT(et);
KASSERT(!(mac->mac_reason[1] & BWN_DMAINTR_RX_DONE), ("%s", __func__));
KASSERT(!(mac->mac_reason[2] & BWN_DMAINTR_RX_DONE), ("%s", __func__));
diff --git a/sys/dev/ipw/if_ipw.c b/sys/dev/ipw/if_ipw.c
--- a/sys/dev/ipw/if_ipw.c
+++ b/sys/dev/ipw/if_ipw.c
@@ -1156,7 +1156,6 @@
ipw_rx_data_intr(struct ipw_softc *sc, struct ipw_status *status,
struct ipw_soft_bd *sbd, struct ipw_soft_buf *sbuf)
{
- struct epoch_tracker et;
struct ieee80211com *ic = &sc->sc_ic;
struct mbuf *mnew, *m;
struct ieee80211_node *ni;
@@ -1228,13 +1227,11 @@
IPW_UNLOCK(sc);
ni = ieee80211_find_rxnode(ic, mtod(m, struct ieee80211_frame_min *));
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi - nf, nf);
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi - nf, nf);
- NET_EPOCH_EXIT(et);
IPW_LOCK(sc);
bus_dmamap_sync(sc->rbd_dmat, sc->rbd_map, BUS_DMASYNC_PREWRITE);
diff --git a/sys/dev/iwi/if_iwi.c b/sys/dev/iwi/if_iwi.c
--- a/sys/dev/iwi/if_iwi.c
+++ b/sys/dev/iwi/if_iwi.c
@@ -1177,7 +1177,6 @@
iwi_frame_intr(struct iwi_softc *sc, struct iwi_rx_data *data, int i,
struct iwi_frame *frame)
{
- struct epoch_tracker et;
struct ieee80211com *ic = &sc->sc_ic;
struct mbuf *mnew, *m;
struct ieee80211_node *ni;
@@ -1267,13 +1266,11 @@
IWI_UNLOCK(sc);
ni = ieee80211_find_rxnode(ic, mtod(m, struct ieee80211_frame_min *));
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
type = ieee80211_input(ni, m, rssi, nf);
ieee80211_free_node(ni);
} else
type = ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
IWI_LOCK(sc);
if (sc->sc_softled) {
diff --git a/sys/dev/iwm/if_iwm.c b/sys/dev/iwm/if_iwm.c
--- a/sys/dev/iwm/if_iwm.c
+++ b/sys/dev/iwm/if_iwm.c
@@ -3375,7 +3375,6 @@
iwm_rx_mpdu(struct iwm_softc *sc, struct mbuf *m, uint32_t offset,
bool stolen)
{
- struct epoch_tracker et;
struct ieee80211com *ic;
struct ieee80211_frame *wh;
struct ieee80211_node *ni;
@@ -3395,8 +3394,6 @@
ni = ieee80211_find_rxnode(ic, (struct ieee80211_frame_min *)wh);
IWM_UNLOCK(sc);
-
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
IWM_DPRINTF(sc, IWM_DEBUG_RECV, "input m %p\n", m);
ieee80211_input_mimo(ni, m);
@@ -3405,8 +3402,6 @@
IWM_DPRINTF(sc, IWM_DEBUG_RECV, "inputall m %p\n", m);
ieee80211_input_mimo_all(ic, m);
}
- NET_EPOCH_EXIT(et);
-
IWM_LOCK(sc);
return true;
diff --git a/sys/dev/iwn/if_iwn.c b/sys/dev/iwn/if_iwn.c
--- a/sys/dev/iwn/if_iwn.c
+++ b/sys/dev/iwn/if_iwn.c
@@ -3019,7 +3019,6 @@
iwn_rx_done(struct iwn_softc *sc, struct iwn_rx_desc *desc,
struct iwn_rx_data *data)
{
- struct epoch_tracker et;
struct iwn_ops *ops = &sc->ops;
struct ieee80211com *ic = &sc->sc_ic;
struct iwn_rx_ring *ring = &sc->rxq;
@@ -3179,7 +3178,6 @@
}
IWN_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
/* Send the frame to the 802.11 layer. */
if (ni != NULL) {
@@ -3191,7 +3189,6 @@
} else
(void)ieee80211_input_all(ic, m, rssi - nf, nf);
- NET_EPOCH_EXIT(et);
IWN_LOCK(sc);
DPRINTF(sc, IWN_DEBUG_TRACE, "->%s: end\n",__func__);
diff --git a/sys/dev/malo/if_malo.c b/sys/dev/malo/if_malo.c
--- a/sys/dev/malo/if_malo.c
+++ b/sys/dev/malo/if_malo.c
@@ -1932,7 +1932,6 @@
static void
malo_rx_proc(void *arg, int npending)
{
- struct epoch_tracker et;
struct malo_softc *sc = arg;
struct ieee80211com *ic = &sc->malo_ic;
struct malo_rxbuf *bf;
@@ -2065,13 +2064,11 @@
/* dispatch */
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, ds->nf);
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, ds->nf);
- NET_EPOCH_EXIT(et);
rx_next:
/* NB: ignore ENOMEM so we process more descriptors */
(void) malo_rxbuf_init(sc, bf);
diff --git a/sys/dev/mwl/if_mwl.c b/sys/dev/mwl/if_mwl.c
--- a/sys/dev/mwl/if_mwl.c
+++ b/sys/dev/mwl/if_mwl.c
@@ -2603,7 +2603,6 @@
static void
mwl_rx_proc(void *arg, int npending)
{
- struct epoch_tracker et;
struct mwl_softc *sc = arg;
struct ieee80211com *ic = &sc->sc_ic;
struct mwl_rxbuf *bf;
@@ -2792,8 +2791,6 @@
/* dispatch */
ni = ieee80211_find_rxnode(ic,
(const struct ieee80211_frame_min *) wh);
-
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
mn = MWL_NODE(ni);
#ifdef MWL_ANT_INFO_SUPPORT
@@ -2809,7 +2806,6 @@
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
rx_next:
/* NB: ignore ENOMEM so we process more descriptors */
(void) mwl_rxbuf_init(sc, bf);
diff --git a/sys/dev/otus/if_otus.c b/sys/dev/otus/if_otus.c
--- a/sys/dev/otus/if_otus.c
+++ b/sys/dev/otus/if_otus.c
@@ -1802,7 +1802,6 @@
static void
otus_bulk_rx_callback(struct usb_xfer *xfer, usb_error_t error)
{
- struct epoch_tracker et;
struct otus_softc *sc = usbd_xfer_softc(xfer);
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame *wh;
@@ -1853,7 +1852,6 @@
* callback and safe to unlock.
*/
OTUS_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
while ((m = mbufq_dequeue(&scrx)) != NULL) {
wh = mtod(m, struct ieee80211_frame *);
ni = ieee80211_find_rxnode(ic,
@@ -1866,7 +1864,6 @@
} else
(void)ieee80211_input_mimo_all(ic, m);
}
- NET_EPOCH_EXIT(et);
#ifdef IEEE80211_SUPPORT_SUPERG
ieee80211_ff_age_all(ic, 100);
#endif
diff --git a/sys/dev/ral/rt2560.c b/sys/dev/ral/rt2560.c
--- a/sys/dev/ral/rt2560.c
+++ b/sys/dev/ral/rt2560.c
@@ -1083,7 +1083,6 @@
static void
rt2560_decryption_intr(struct rt2560_softc *sc)
{
- struct epoch_tracker et;
struct ieee80211com *ic = &sc->sc_ic;
struct rt2560_rx_desc *desc;
struct rt2560_rx_data *data;
@@ -1194,13 +1193,12 @@
wh = mtod(m, struct ieee80211_frame *);
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, nf);
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
+
RAL_LOCK(sc);
sc->sc_flags &= ~RT2560_F_INPUT_RUNNING;
skip: desc->flags = htole32(RT2560_RX_BUSY);
diff --git a/sys/dev/ral/rt2661.c b/sys/dev/ral/rt2661.c
--- a/sys/dev/ral/rt2661.c
+++ b/sys/dev/ral/rt2661.c
@@ -955,7 +955,6 @@
static void
rt2661_rx_intr(struct rt2661_softc *sc)
{
- struct epoch_tracker et;
struct ieee80211com *ic = &sc->sc_ic;
struct rt2661_rx_desc *desc;
struct rt2661_rx_data *data;
@@ -1072,13 +1071,11 @@
/* send the frame to the 802.11 layer */
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, nf);
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
RAL_LOCK(sc);
sc->sc_flags &= ~RAL_INPUT_RUNNING;
diff --git a/sys/dev/ral/rt2860.c b/sys/dev/ral/rt2860.c
--- a/sys/dev/ral/rt2860.c
+++ b/sys/dev/ral/rt2860.c
@@ -1176,7 +1176,6 @@
static void
rt2860_rx_intr(struct rt2860_softc *sc)
{
- struct epoch_tracker et;
struct rt2860_rx_radiotap_header *tap;
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame *wh;
@@ -1324,13 +1323,11 @@
/* send the frame to the 802.11 layer */
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void)ieee80211_input(ni, m, rssi - nf, nf);
ieee80211_free_node(ni);
} else
(void)ieee80211_input_all(ic, m, rssi - nf, nf);
- NET_EPOCH_EXIT(et);
RAL_LOCK(sc);
diff --git a/sys/dev/rtwn/pci/rtwn_pci_rx.c b/sys/dev/rtwn/pci/rtwn_pci_rx.c
--- a/sys/dev/rtwn/pci/rtwn_pci_rx.c
+++ b/sys/dev/rtwn/pci/rtwn_pci_rx.c
@@ -33,7 +33,6 @@
#include <sys/taskqueue.h>
#include <sys/bus.h>
#include <sys/endian.h>
-#include <sys/epoch.h>
#include <machine/bus.h>
#include <machine/resource.h>
@@ -83,7 +82,6 @@
static void
rtwn_pci_rx_frame(struct rtwn_pci_softc *pc)
{
- struct epoch_tracker et;
struct rtwn_softc *sc = &pc->pc_sc;
struct rtwn_rx_ring *ring = &pc->rx_ring;
struct rtwn_rx_stat_pci *rx_desc = &ring->desc[ring->cur];
@@ -163,15 +161,12 @@
/* Send the frame to the 802.11 layer. */
RTWN_UNLOCK(sc);
-
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void)ieee80211_input_mimo(ni, m);
/* Node is no longer needed. */
ieee80211_free_node(ni);
} else
(void)ieee80211_input_mimo_all(ic, m);
- NET_EPOCH_EXIT(et);
RTWN_LOCK(sc);
diff --git a/sys/dev/rtwn/usb/rtwn_usb_rx.c b/sys/dev/rtwn/usb/rtwn_usb_rx.c
--- a/sys/dev/rtwn/usb/rtwn_usb_rx.c
+++ b/sys/dev/rtwn/usb/rtwn_usb_rx.c
@@ -361,7 +361,6 @@
void
rtwn_bulk_rx_callback(struct usb_xfer *xfer, usb_error_t error)
{
- struct epoch_tracker et;
struct rtwn_usb_softc *uc = usbd_xfer_softc(xfer);
struct rtwn_softc *sc = &uc->uc_sc;
struct ieee80211com *ic = &sc->sc_ic;
@@ -404,7 +403,6 @@
m->m_pkthdr.PH_loc.ptr = rtwn_rx_frame(sc, m);
m = m->m_nextpkt;
}
- NET_EPOCH_ENTER(et);
RTWN_UNLOCK(sc);
m = m0;
while (m != NULL) {
@@ -422,7 +420,6 @@
m = next;
}
RTWN_LOCK(sc);
- NET_EPOCH_EXIT(et);
break;
default:
/* needs it to the inactive queue due to a error. */
diff --git a/sys/dev/usb/wlan/if_rsu.c b/sys/dev/usb/wlan/if_rsu.c
--- a/sys/dev/usb/wlan/if_rsu.c
+++ b/sys/dev/usb/wlan/if_rsu.c
@@ -2553,7 +2553,6 @@
static void
rsu_bulk_rx_callback(struct usb_xfer *xfer, usb_error_t error)
{
- struct epoch_tracker et;
struct rsu_softc *sc = usbd_xfer_softc(xfer);
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_node *ni;
@@ -2588,7 +2587,6 @@
* ieee80211_input() because here is at the end of a USB
* callback and safe to unlock.
*/
- NET_EPOCH_ENTER(et);
while (m != NULL) {
next = m->m_next;
m->m_next = NULL;
@@ -2607,7 +2605,6 @@
RSU_LOCK(sc);
m = next;
}
- NET_EPOCH_EXIT(et);
break;
default:
/* needs it to the inactive queue due to a error. */
diff --git a/sys/dev/usb/wlan/if_rum.c b/sys/dev/usb/wlan/if_rum.c
--- a/sys/dev/usb/wlan/if_rum.c
+++ b/sys/dev/usb/wlan/if_rum.c
@@ -1166,7 +1166,6 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame_min *wh;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct mbuf *m = NULL;
struct usb_page_cache *pc;
uint32_t flags;
@@ -1285,7 +1284,6 @@
else
ni = NULL;
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi,
RT2573_NOISE_FLOOR);
@@ -1293,7 +1291,6 @@
} else
(void) ieee80211_input_all(ic, m, rssi,
RT2573_NOISE_FLOOR);
- NET_EPOCH_EXIT(et);
}
RUM_LOCK(sc);
rum_start(sc);
diff --git a/sys/dev/usb/wlan/if_run.c b/sys/dev/usb/wlan/if_run.c
--- a/sys/dev/usb/wlan/if_run.c
+++ b/sys/dev/usb/wlan/if_run.c
@@ -2870,7 +2870,6 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame *wh;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct rt2870_rxd *rxd;
struct rt2860_rxwi *rxwi;
uint32_t flags;
@@ -2993,14 +2992,12 @@
}
}
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void)ieee80211_input(ni, m, rssi, nf);
ieee80211_free_node(ni);
} else {
(void)ieee80211_input_all(ic, m, rssi, nf);
}
- NET_EPOCH_EXIT(et);
return;
diff --git a/sys/dev/usb/wlan/if_uath.c b/sys/dev/usb/wlan/if_uath.c
--- a/sys/dev/usb/wlan/if_uath.c
+++ b/sys/dev/usb/wlan/if_uath.c
@@ -2703,7 +2703,6 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame *wh;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct mbuf *m = NULL;
struct uath_data *data;
struct uath_rx_desc *desc = NULL;
@@ -2750,7 +2749,6 @@
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
nf = -95; /* XXX */
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m,
(int)be32toh(desc->rssi), nf);
@@ -2759,7 +2757,6 @@
} else
(void) ieee80211_input_all(ic, m,
(int)be32toh(desc->rssi), nf);
- NET_EPOCH_EXIT(et);
m = NULL;
desc = NULL;
}
diff --git a/sys/dev/usb/wlan/if_upgt.c b/sys/dev/usb/wlan/if_upgt.c
--- a/sys/dev/usb/wlan/if_upgt.c
+++ b/sys/dev/usb/wlan/if_upgt.c
@@ -2205,7 +2205,6 @@
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_frame *wh;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct mbuf *m = NULL;
struct upgt_data *data;
int8_t nf;
@@ -2243,14 +2242,12 @@
ni = ieee80211_find_rxnode(ic,
(struct ieee80211_frame_min *)wh);
nf = -95; /* XXX */
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, nf);
/* node is no longer needed */
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
m = NULL;
}
UPGT_LOCK(sc);
diff --git a/sys/dev/usb/wlan/if_ural.c b/sys/dev/usb/wlan/if_ural.c
--- a/sys/dev/usb/wlan/if_ural.c
+++ b/sys/dev/usb/wlan/if_ural.c
@@ -846,7 +846,6 @@
struct ural_softc *sc = usbd_xfer_softc(xfer);
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct mbuf *m = NULL;
struct usb_page_cache *pc;
uint32_t flags;
@@ -927,13 +926,11 @@
if (m) {
ni = ieee80211_find_rxnode(ic,
mtod(m, struct ieee80211_frame_min *));
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, nf);
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
}
RAL_LOCK(sc);
ural_start(sc);
diff --git a/sys/dev/usb/wlan/if_urtw.c b/sys/dev/usb/wlan/if_urtw.c
--- a/sys/dev/usb/wlan/if_urtw.c
+++ b/sys/dev/usb/wlan/if_urtw.c
@@ -4040,7 +4040,6 @@
struct urtw_softc *sc = usbd_xfer_softc(xfer);
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct mbuf *m = NULL;
struct urtw_data *data;
int8_t nf = -95;
@@ -4084,14 +4083,12 @@
} else
ni = NULL;
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
(void) ieee80211_input(ni, m, rssi, nf);
/* node is no longer needed */
ieee80211_free_node(ni);
} else
(void) ieee80211_input_all(ic, m, rssi, nf);
- NET_EPOCH_EXIT(et);
m = NULL;
}
URTW_LOCK(sc);
diff --git a/sys/dev/usb/wlan/if_zyd.c b/sys/dev/usb/wlan/if_zyd.c
--- a/sys/dev/usb/wlan/if_zyd.c
+++ b/sys/dev/usb/wlan/if_zyd.c
@@ -2219,7 +2219,6 @@
struct zyd_softc *sc = usbd_xfer_softc(xfer);
struct ieee80211com *ic = &sc->sc_ic;
struct ieee80211_node *ni;
- struct epoch_tracker et;
struct zyd_rx_desc desc;
struct mbuf *m;
struct usb_page_cache *pc;
@@ -2275,7 +2274,6 @@
* "ieee80211_input" here, and not some lines up!
*/
ZYD_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
for (i = 0; i < sc->sc_rx_count; i++) {
rssi = sc->sc_rx_data[i].rssi;
m = sc->sc_rx_data[i].m;
@@ -2291,7 +2289,6 @@
} else
(void)ieee80211_input_all(ic, m, rssi, nf);
}
- NET_EPOCH_EXIT(et);
ZYD_LOCK(sc);
zyd_start(sc);
break;
diff --git a/sys/dev/wpi/if_wpi.c b/sys/dev/wpi/if_wpi.c
--- a/sys/dev/wpi/if_wpi.c
+++ b/sys/dev/wpi/if_wpi.c
@@ -1906,7 +1906,6 @@
wpi_rx_done(struct wpi_softc *sc, struct wpi_rx_desc *desc,
struct wpi_rx_data *data)
{
- struct epoch_tracker et;
struct ieee80211com *ic = &sc->sc_ic;
struct wpi_rx_ring *ring = &sc->rxq;
struct wpi_rx_stat *stat;
@@ -2026,7 +2025,6 @@
}
WPI_UNLOCK(sc);
- NET_EPOCH_ENTER(et);
/* Send the frame to the 802.11 layer. */
if (ni != NULL) {
@@ -2036,7 +2034,6 @@
} else
(void)ieee80211_input_all(ic, m, stat->rssi, WPI_RSSI_OFFSET);
- NET_EPOCH_EXIT(et);
WPI_LOCK(sc);
return;
diff --git a/sys/dev/wtap/if_wtap.c b/sys/dev/wtap/if_wtap.c
--- a/sys/dev/wtap/if_wtap.c
+++ b/sys/dev/wtap/if_wtap.c
@@ -493,7 +493,6 @@
static void
wtap_rx_proc(void *arg, int npending)
{
- struct epoch_tracker et;
struct wtap_softc *sc = (struct wtap_softc *)arg;
struct ieee80211com *ic = &sc->sc_ic;
struct mbuf *m;
@@ -540,7 +539,6 @@
ni = ieee80211_find_rxnode_withkey(ic,
mtod(m, const struct ieee80211_frame_min *),
IEEE80211_KEYIX_NONE);
- NET_EPOCH_ENTER(et);
if (ni != NULL) {
/*
* Sending station is known, dispatch directly.
@@ -550,8 +548,7 @@
} else {
ieee80211_input_all(ic, m, 1<<7, 10);
}
- NET_EPOCH_EXIT(et);
-
+
/* The mbufs are freed by the Net80211 stack */
free(bf, M_WTAP_RXBUF);
}
diff --git a/sys/net80211/ieee80211_hostap.c b/sys/net80211/ieee80211_hostap.c
--- a/sys/net80211/ieee80211_hostap.c
+++ b/sys/net80211/ieee80211_hostap.c
@@ -423,6 +423,8 @@
(void) ieee80211_vap_xmitpkt(vap, mcopy);
}
if (m != NULL) {
+ struct epoch_tracker et;
+
/*
* Mark frame as coming from vap's interface.
*/
@@ -439,7 +441,9 @@
m->m_pkthdr.ether_vtag = ni->ni_vlan;
m->m_flags |= M_VLANTAG;
}
+ NET_EPOCH_ENTER(et);
ifp->if_input(ifp, m);
+ NET_EPOCH_EXIT(et);
}
}
diff --git a/sys/net80211/ieee80211_input.c b/sys/net80211/ieee80211_input.c
--- a/sys/net80211/ieee80211_input.c
+++ b/sys/net80211/ieee80211_input.c
@@ -274,6 +274,7 @@
ieee80211_deliver_data(struct ieee80211vap *vap,
struct ieee80211_node *ni, struct mbuf *m)
{
+ struct epoch_tracker et;
struct ether_header *eh = mtod(m, struct ether_header *);
struct ifnet *ifp = vap->iv_ifp;
@@ -304,7 +305,9 @@
m->m_pkthdr.ether_vtag = ni->ni_vlan;
m->m_flags |= M_VLANTAG;
}
+ NET_EPOCH_ENTER(et);
ifp->if_input(ifp, m);
+ NET_EPOCH_EXIT(et);
}
struct mbuf *
File Metadata
Details
Attached
Mime Type
text/plain
Expires
Sat, Jan 24, 9:10 PM (22 h, 3 m)
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
27910456
Default Alt Text
D42427.id129708.diff (20 KB)
Attached To
Mode
D42427: net80211: move net_epoch into net80211
Attached
Detach File
Event Timeline
Log In to Comment