svn commit: r249737 - in user/adrian/net80211_tx/sys: dev/ath dev/iwn net80211
Adrian Chadd
adrian at FreeBSD.org
Sun Apr 21 19:24:39 UTC 2013
Author: adrian
Date: Sun Apr 21 19:24:37 2013
New Revision: 249737
URL: http://svnweb.freebsd.org/changeset/base/249737
Log:
Revert!
Modified:
user/adrian/net80211_tx/sys/dev/ath/if_ath.c
user/adrian/net80211_tx/sys/dev/ath/if_ath_misc.h
user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c
user/adrian/net80211_tx/sys/dev/iwn/if_iwn.c
user/adrian/net80211_tx/sys/net80211/ieee80211_mesh.c
user/adrian/net80211_tx/sys/net80211/ieee80211_output.c
user/adrian/net80211_tx/sys/net80211/ieee80211_superg.c
Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/ath/if_ath.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/dev/ath/if_ath.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -2603,14 +2603,9 @@ static void
ath_start_queue(struct ifnet *ifp)
{
struct ath_softc *sc = ifp->if_softc;
- struct ieee80211com *ic = ifp->if_l2com;
-
- IEEE80211_TX_LOCK_ASSERT(ic);
ATH_KTR(sc, ATH_KTR_TX, 0, "ath_start_queue: start");
- ATH_TX_LOCK(sc);
- ath_start(ifp);
- ATH_TX_UNLOCK(sc);
+ ath_tx_kick(sc);
ATH_KTR(sc, ATH_KTR_TX, 0, "ath_start_queue: finished");
}
@@ -2618,7 +2613,6 @@ void
ath_start_task(void *arg, int npending)
{
struct ath_softc *sc = (struct ath_softc *) arg;
- struct ieee80211com *ic = sc->sc_ifp->if_l2com;
struct ifnet *ifp = sc->sc_ifp;
ATH_KTR(sc, ATH_KTR_TX, 0, "ath_start_task: start");
@@ -2639,11 +2633,9 @@ ath_start_task(void *arg, int npending)
sc->sc_txstart_cnt++;
ATH_PCU_UNLOCK(sc);
- IEEE80211_TX_LOCK(ic);
ATH_TX_LOCK(sc);
ath_start(sc->sc_ifp);
ATH_TX_UNLOCK(sc);
- IEEE80211_TX_UNLOCK(ic);
ATH_PCU_LOCK(sc);
sc->sc_txstart_cnt--;
@@ -2655,7 +2647,6 @@ void
ath_start(struct ifnet *ifp)
{
struct ath_softc *sc = ifp->if_softc;
- struct ieee80211com *ic = ifp->if_l2com;
struct ieee80211_node *ni;
struct ath_buf *bf;
struct mbuf *m, *next;
@@ -2665,7 +2656,6 @@ ath_start(struct ifnet *ifp)
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 || sc->sc_invalid)
return;
- IEEE80211_TX_LOCK_ASSERT(ic);
ATH_TX_LOCK_ASSERT(sc);
ATH_KTR(sc, ATH_KTR_TX, 0, "ath_start: called");
Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath_misc.h
==============================================================================
--- user/adrian/net80211_tx/sys/dev/ath/if_ath_misc.h Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/dev/ath/if_ath_misc.h Sun Apr 21 19:24:37 2013 (r249737)
@@ -131,16 +131,10 @@ extern void ath_start_task(void *arg, in
static inline void
ath_tx_kick(struct ath_softc *sc)
{
- struct ieee80211com *ic = sc->sc_ifp->if_l2com;
- IEEE80211_TX_UNLOCK_ASSERT(ic);
- ATH_TX_UNLOCK_ASSERT(sc);
-
- IEEE80211_TX_LOCK(ic);
ATH_TX_LOCK(sc);
ath_start(sc->sc_ifp);
ATH_TX_UNLOCK(sc);
- IEEE80211_TX_UNLOCK(ic);
}
/*
Modified: user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/dev/ath/if_ath_tx.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -1776,7 +1776,6 @@ ath_tx_start(struct ath_softc *sc, struc
struct ath_buf *bf, struct mbuf *m0)
{
struct ieee80211vap *vap = ni->ni_vap;
- struct ieee80211com *ic = sc->sc_ifp->if_l2com;
struct ath_vap *avp = ATH_VAP(vap);
int r = 0;
u_int pri;
@@ -1789,7 +1788,6 @@ ath_tx_start(struct ath_softc *sc, struc
uint8_t type, subtype;
ATH_TX_LOCK_ASSERT(sc);
- IEEE80211_TX_LOCK_ASSERT(ic);
/*
* Determine the target hardware queue.
@@ -1980,7 +1978,6 @@ ath_tx_raw_start(struct ath_softc *sc, s
int do_override;
ATH_TX_LOCK_ASSERT(sc);
- IEEE80211_TX_LOCK_ASSERT(ic);
wh = mtod(m0, struct ieee80211_frame *);
ismcast = IEEE80211_IS_MULTICAST(wh->i_addr1);
@@ -5043,15 +5040,8 @@ void
ath_txq_sched(struct ath_softc *sc, struct ath_txq *txq)
{
struct ath_tid *tid, *next, *last;
- struct ieee80211com *ic = sc->sc_ifp->if_l2com;
ATH_TX_LOCK_ASSERT(sc);
- /*
- * This shouldn't be directly called from the TX queue
- * code path; it should be called from the TX completion
- * or TX kick task.
- */
- IEEE80211_TX_UNLOCK_ASSERT(ic);
/*
* Don't schedule if the hardware queue is busy.
Modified: user/adrian/net80211_tx/sys/dev/iwn/if_iwn.c
==============================================================================
--- user/adrian/net80211_tx/sys/dev/iwn/if_iwn.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/dev/iwn/if_iwn.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -2716,7 +2716,6 @@ iwn_tx_done(struct iwn_softc *sc, struct
struct mbuf *m;
struct ieee80211_node *ni;
struct ieee80211vap *vap;
- struct ieee80211com *ic = ifp->if_l2com;
KASSERT(data->ni != NULL, ("no node"));
@@ -2771,16 +2770,7 @@ iwn_tx_done(struct iwn_softc *sc, struct
if (sc->qfullmsk == 0 &&
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) {
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
- /*
- * XXX turn this into a deferred taskqueue at some point.
- */
- IWN_UNLOCK(sc);
-
- IEEE80211_TX_LOCK(ic);
- IWN_LOCK(sc);
iwn_start_locked(ifp);
- IWN_UNLOCK(sc);
- IEEE80211_TX_UNLOCK(ic);
}
}
}
@@ -2817,7 +2807,6 @@ iwn_ampdu_tx_done(struct iwn_softc *sc,
{
struct iwn_ops *ops = &sc->ops;
struct ifnet *ifp = sc->sc_ifp;
- struct ieee80211com *ic = ifp->if_l2com;
struct iwn_tx_ring *ring = &sc->txq[qid];
struct iwn_tx_data *data;
struct mbuf *m;
@@ -2914,18 +2903,6 @@ iwn_ampdu_tx_done(struct iwn_softc *sc,
if (sc->qfullmsk == 0 &&
(ifp->if_drv_flags & IFF_DRV_OACTIVE)) {
ifp->if_drv_flags &= ~IFF_DRV_OACTIVE;
-
- /*
- * XXX turn this into a deferred taskqueue at some point.
- */
- IWN_UNLOCK(sc);
-
- IEEE80211_TX_LOCK(ic);
- IWN_LOCK(sc);
- iwn_start_locked(ifp);
- IWN_UNLOCK(sc);
- IEEE80211_TX_UNLOCK(ic);
-
iwn_start_locked(ifp);
}
}
@@ -3873,9 +3850,6 @@ static void
iwn_start(struct ifnet *ifp)
{
struct iwn_softc *sc = ifp->if_softc;
- struct ieee80211com *ic = ifp->if_l2com;
-
- IEEE80211_TX_LOCK_ASSERT(ic);
IWN_LOCK(sc);
iwn_start_locked(ifp);
@@ -3886,12 +3860,10 @@ static void
iwn_start_locked(struct ifnet *ifp)
{
struct iwn_softc *sc = ifp->if_softc;
- struct ieee80211com *ic = ifp->if_l2com;
struct ieee80211_node *ni;
struct mbuf *m;
IWN_LOCK_ASSERT(sc);
- IEEE80211_TX_LOCK_ASSERT(ic);
if ((ifp->if_drv_flags & IFF_DRV_RUNNING) == 0 ||
(ifp->if_drv_flags & IFF_DRV_OACTIVE))
Modified: user/adrian/net80211_tx/sys/net80211/ieee80211_mesh.c
==============================================================================
--- user/adrian/net80211_tx/sys/net80211/ieee80211_mesh.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/net80211/ieee80211_mesh.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -1477,7 +1477,6 @@ mesh_recv_indiv_data_to_fwrd(struct ieee
struct ieee80211_qosframe_addr4 *qwh;
struct ieee80211_mesh_state *ms = vap->iv_mesh;
struct ieee80211_mesh_route *rt_meshda, *rt_meshsa;
- struct ieee80211com *ic = vap->iv_ic;
/* This is called from the RX path - don't hold this lock */
IEEE80211_TX_UNLOCK_ASSERT(vap->iv_ic);
@@ -1536,7 +1535,6 @@ mesh_recv_indiv_data_to_me(struct ieee80
const struct ieee80211_meshcntl_ae10 *mc10;
struct ieee80211_mesh_state *ms = vap->iv_mesh;
struct ieee80211_mesh_route *rt;
- struct ieee80211com *ic = vap->iv_ic;
int ae;
/* This is called from the RX path - don't hold this lock */
@@ -1603,7 +1601,6 @@ mesh_recv_group_data(struct ieee80211vap
{
#define MC01(mc) ((const struct ieee80211_meshcntl_ae01 *)mc)
struct ieee80211_mesh_state *ms = vap->iv_mesh;
- struct ieee80211com *ic = vap->iv_ic;
/* This is called from the RX path - don't hold this lock */
IEEE80211_TX_UNLOCK_ASSERT(vap->iv_ic);
Modified: user/adrian/net80211_tx/sys/net80211/ieee80211_output.c
==============================================================================
--- user/adrian/net80211_tx/sys/net80211/ieee80211_output.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/net80211/ieee80211_output.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -597,7 +597,6 @@ ieee80211_send_setup(
struct ieee80211vap *vap = ni->ni_vap;
struct ieee80211_tx_ampdu *tap;
struct ieee80211_frame *wh = mtod(m, struct ieee80211_frame *);
- struct ieee80211com *ic = ni->ni_ic;
ieee80211_seq seqno;
IEEE80211_TX_LOCK_ASSERT(ni->ni_ic);
Modified: user/adrian/net80211_tx/sys/net80211/ieee80211_superg.c
==============================================================================
--- user/adrian/net80211_tx/sys/net80211/ieee80211_superg.c Sun Apr 21 19:21:18 2013 (r249736)
+++ user/adrian/net80211_tx/sys/net80211/ieee80211_superg.c Sun Apr 21 19:24:37 2013 (r249737)
@@ -534,8 +534,6 @@ ff_flush(struct mbuf *head, struct mbuf
struct ieee80211_node *ni;
struct ieee80211vap *vap;
- IEEE80211_TX_LOCK_ASSERT(vap->iv_ic);
-
for (m = head; m != last; m = next) {
next = m->m_nextpkt;
m->m_nextpkt = NULL;
More information about the svn-src-user
mailing list