summaryrefslogtreecommitdiff
path: root/sys/dev
diff options
context:
space:
mode:
authorDamien Bergamini <damien@cvs.openbsd.org>2010-06-21 19:46:51 +0000
committerDamien Bergamini <damien@cvs.openbsd.org>2010-06-21 19:46:51 +0000
commit263fdf83fabf36894288df97a7b980c590b59d3e (patch)
tree4947063b822f5844a22622f74b6e4088e10f2960 /sys/dev
parent03fc185be761a1f24c6f5c1355fca97bf67d9a82 (diff)
allow Tx flags to be passed to the tx() routine.
Diffstat (limited to 'sys/dev')
-rw-r--r--sys/dev/ic/ar5008.c9
-rw-r--r--sys/dev/ic/ar9003.c9
-rw-r--r--sys/dev/ic/athn.c4
-rw-r--r--sys/dev/ic/athnvar.h5
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 *);