From owner-svn-src-user@FreeBSD.ORG Sun Apr 21 19:24:39 2013 Return-Path: Delivered-To: svn-src-user@freebsd.org Received: from mx1.freebsd.org (mx1.FreeBSD.org [8.8.178.115]) by hub.freebsd.org (Postfix) with ESMTP id A8E60897; Sun, 21 Apr 2013 19:24:39 +0000 (UTC) (envelope-from adrian@FreeBSD.org) Received: from svn.freebsd.org (svn.freebsd.org [IPv6:2001:1900:2254:2068::e6a:0]) by mx1.freebsd.org (Postfix) with ESMTP id 9AD841FE2; Sun, 21 Apr 2013 19:24:39 +0000 (UTC) Received: from svn.freebsd.org ([127.0.1.70]) by svn.freebsd.org (8.14.6/8.14.6) with ESMTP id r3LJOdW5017311; Sun, 21 Apr 2013 19:24:39 GMT (envelope-from adrian@svn.freebsd.org) Received: (from adrian@localhost) by svn.freebsd.org (8.14.6/8.14.5/Submit) id r3LJOc9d017299; Sun, 21 Apr 2013 19:24:38 GMT (envelope-from adrian@svn.freebsd.org) Message-Id: <201304211924.r3LJOc9d017299@svn.freebsd.org> From: Adrian Chadd Date: Sun, 21 Apr 2013 19:24:38 +0000 (UTC) To: src-committers@freebsd.org, svn-src-user@freebsd.org Subject: svn commit: r249737 - in user/adrian/net80211_tx/sys: dev/ath dev/iwn net80211 X-SVN-Group: user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit X-BeenThere: svn-src-user@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: "SVN commit messages for the experimental " user" src tree" List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 21 Apr 2013 19:24:39 -0000 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;