svn commit: r223041 - user/adrian/if_ath_tx/sys/dev/ath
Adrian Chadd
adrian at FreeBSD.org
Mon Jun 13 11:30:22 UTC 2011
Author: adrian
Date: Mon Jun 13 11:30:22 2011
New Revision: 223041
URL: http://svn.freebsd.org/changeset/base/223041
Log:
After being poked by bschmidt, don't go grovelling through net80211,
instead just store the callbacks and use them.
Modified:
user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 06:42:44 2011 (r223040)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath.c Mon Jun 13 11:30:22 2011 (r223041)
@@ -644,6 +644,10 @@ ath_attach(u_int16_t devid, struct ath_s
| IEEE80211_HTCAP_SMPS_OFF; /* SM power save off */
;
+ sc->sc_addba_request = ic->ic_addba_request;
+ sc->sc_addba_response = ic->ic_addba_response;
+ sc->sc_addba_stop = ic->ic_addba_stop;
+
ic->ic_addba_request = ath_addba_request;
ic->ic_addba_response = ath_addba_response;
ic->ic_addba_stop = ath_addba_stop;
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 06:42:44 2011 (r223040)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_ath_tx.c Mon Jun 13 11:30:22 2011 (r223041)
@@ -1665,7 +1665,8 @@ int
ath_addba_request(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
int dialogtoken, int baparamset, int batimeout)
{
- return ieee80211_addba_request(ni, tap, dialogtoken, baparamset,
+ struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+ return sc->sc_addba_request(ni, tap, dialogtoken, baparamset,
batimeout);
}
@@ -1681,7 +1682,8 @@ int
ath_addba_response(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap,
int dialogtoken, int code, int batimeout)
{
- return ieee80211_addba_request(ni, tap, dialogtoken, code, batimeout);
+ struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+ return sc->sc_addba_request(ni, tap, dialogtoken, code, batimeout);
}
@@ -1695,5 +1697,6 @@ ath_addba_response(struct ieee80211_node
void
ath_addba_stop(struct ieee80211_node *ni, struct ieee80211_tx_ampdu *tap)
{
- ieee80211_addba_stop(ni, tap);
+ struct ath_softc *sc = ni->ni_ic->ic_ifp->if_softc;
+ sc->sc_addba_stop(ni, tap);
}
Modified: user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h
==============================================================================
--- user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 06:42:44 2011 (r223040)
+++ user/adrian/if_ath_tx/sys/dev/ath/if_athvar.h Mon Jun 13 11:30:22 2011 (r223041)
@@ -412,6 +412,14 @@ struct ath_softc {
struct mtx sc_txnodeq_mtx; /* mutex protecting the below */
STAILQ_HEAD(, ath_node) sc_txnodeq; /* Nodes which have traffic to send */
char sc_txnodeq_name[16]; /* mutex name */
+
+ /* TX AMPDU handling */
+ int (*sc_addba_request)(struct ieee80211_node *,
+ struct ieee80211_tx_ampdu *, int, int, int);
+ int (*sc_addba_response)(struct ieee80211_node *,
+ struct ieee80211_tx_ampdu *, int, int, int);
+ void (*sc_addba_stop)(struct ieee80211_node *,
+ struct ieee80211_tx_ampdu *);
};
#define ATH_LOCK_INIT(_sc) \
More information about the svn-src-user
mailing list