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