diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2010-06-21 19:46:51 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2010-06-21 19:46:51 +0000 |
commit | 263fdf83fabf36894288df97a7b980c590b59d3e (patch) | |
tree | 4947063b822f5844a22622f74b6e4088e10f2960 /sys/dev | |
parent | 03fc185be761a1f24c6f5c1355fca97bf67d9a82 (diff) |
allow Tx flags to be passed to the tx() routine.
Diffstat (limited to 'sys/dev')
-rw-r--r-- | sys/dev/ic/ar5008.c | 9 | ||||
-rw-r--r-- | sys/dev/ic/ar9003.c | 9 | ||||
-rw-r--r-- | sys/dev/ic/athn.c | 4 | ||||
-rw-r--r-- | sys/dev/ic/athnvar.h | 5 |
4 files changed, 17 insertions, 10 deletions
diff --git a/sys/dev/ic/ar5008.c b/sys/dev/ic/ar5008.c index 2c06e35feca..dad7e2abcdf 100644 --- a/sys/dev/ic/ar5008.c +++ b/sys/dev/ic/ar5008.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ar5008.c,v 1.8 2010/06/05 18:43:57 damien Exp $ */ +/* $OpenBSD: ar5008.c,v 1.9 2010/06/21 19:46:50 damien Exp $ */ /*- * Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr> @@ -88,7 +88,8 @@ int ar5008_tx_process(struct athn_softc *, int); void ar5008_tx_intr(struct athn_softc *); int ar5008_swba_intr(struct athn_softc *); int ar5008_intr(struct athn_softc *); -int ar5008_tx(struct athn_softc *, struct mbuf *, struct ieee80211_node *); +int ar5008_tx(struct athn_softc *, struct mbuf *, struct ieee80211_node *, + int); void ar5008_set_rf_mode(struct athn_softc *, struct ieee80211_channel *); int ar5008_rf_bus_request(struct athn_softc *); void ar5008_rf_bus_release(struct athn_softc *); @@ -1193,7 +1194,8 @@ ar5008_intr(struct athn_softc *sc) } int -ar5008_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) +ar5008_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni, + int txflags) { struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_key *k = NULL; @@ -1341,6 +1343,7 @@ ar5008_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) } bf->bf_m = m; bf->bf_ni = ni; + bf->bf_txflags = txflags; wh = mtod(m, struct ieee80211_frame *); diff --git a/sys/dev/ic/ar9003.c b/sys/dev/ic/ar9003.c index 18eef5be06a..a0f29f222d3 100644 --- a/sys/dev/ic/ar9003.c +++ b/sys/dev/ic/ar9003.c @@ -1,4 +1,4 @@ -/* $OpenBSD: ar9003.c,v 1.13 2010/06/21 19:31:12 damien Exp $ */ +/* $OpenBSD: ar9003.c,v 1.14 2010/06/21 19:46:50 damien Exp $ */ /*- * Copyright (c) 2010 Damien Bergamini <damien.bergamini@free.fr> @@ -92,7 +92,8 @@ int ar9003_tx_process(struct athn_softc *); void ar9003_tx_intr(struct athn_softc *); int ar9003_swba_intr(struct athn_softc *); int ar9003_intr(struct athn_softc *); -int ar9003_tx(struct athn_softc *, struct mbuf *, struct ieee80211_node *); +int ar9003_tx(struct athn_softc *, struct mbuf *, struct ieee80211_node *, + int); void ar9003_set_rf_mode(struct athn_softc *, struct ieee80211_channel *); int ar9003_rf_bus_request(struct athn_softc *); void ar9003_rf_bus_release(struct athn_softc *); @@ -1239,7 +1240,8 @@ ar9003_intr(struct athn_softc *sc) } int -ar9003_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) +ar9003_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni, + int txflags) { struct ieee80211com *ic = &sc->sc_ic; struct ieee80211_key *k = NULL; @@ -1388,6 +1390,7 @@ ar9003_tx(struct athn_softc *sc, struct mbuf *m, struct ieee80211_node *ni) } bf->bf_m = m; bf->bf_ni = ni; + bf->bf_txflags = txflags; wh = mtod(m, struct ieee80211_frame *); diff --git a/sys/dev/ic/athn.c b/sys/dev/ic/athn.c index db9074d1c96..ffff833c5a5 100644 --- a/sys/dev/ic/athn.c +++ b/sys/dev/ic/athn.c @@ -1,4 +1,4 @@ -/* $OpenBSD: athn.c,v 1.51 2010/06/21 19:40:08 damien Exp $ */ +/* $OpenBSD: athn.c,v 1.52 2010/06/21 19:46:50 damien Exp $ */ /*- * Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr> @@ -2442,7 +2442,7 @@ athn_start(struct ifnet *ifp) if (ic->ic_rawbpf != NULL) bpf_mtap(ic->ic_rawbpf, m, BPF_DIRECTION_OUT); #endif - if (sc->ops.tx(sc, m, ni) != 0) { + if (sc->ops.tx(sc, m, ni, 0) != 0) { ieee80211_release_node(ic, ni); ifp->if_oerrors++; continue; diff --git a/sys/dev/ic/athnvar.h b/sys/dev/ic/athnvar.h index d3452556b07..93e25395022 100644 --- a/sys/dev/ic/athnvar.h +++ b/sys/dev/ic/athnvar.h @@ -1,4 +1,4 @@ -/* $OpenBSD: athnvar.h,v 1.15 2010/06/05 18:43:57 damien Exp $ */ +/* $OpenBSD: athnvar.h,v 1.16 2010/06/21 19:46:50 damien Exp $ */ /*- * Copyright (c) 2009 Damien Bergamini <damien.bergamini@free.fr> @@ -80,6 +80,7 @@ struct athn_tx_buf { struct mbuf *bf_m; struct ieee80211_node *bf_ni; + int bf_txflags; }; struct athn_txq { @@ -370,7 +371,7 @@ struct athn_ops { void (*rx_enable)(struct athn_softc *); int (*intr)(struct athn_softc *); int (*tx)(struct athn_softc *, struct mbuf *, - struct ieee80211_node *); + struct ieee80211_node *, int); /* PHY callbacks. */ void (*set_rf_mode)(struct athn_softc *, struct ieee80211_channel *); |