diff options
author | Damien Bergamini <damien@cvs.openbsd.org> | 2006-06-18 12:32:47 +0000 |
---|---|---|
committer | Damien Bergamini <damien@cvs.openbsd.org> | 2006-06-18 12:32:47 +0000 |
commit | f333b9e44ae6bb6637dd8a02697fc54d23492b2e (patch) | |
tree | 8d75576a3fa6b7df6d04280d0431bb6786ab7bdc | |
parent | e3d1b24a70fa1f92369d8cbeb196e2efa46e9fb8 (diff) |
enable packet bursting when operating as a STA.
limit bursts to 8 frames.
-rw-r--r-- | sys/dev/ic/rt2560.c | 14 | ||||
-rw-r--r-- | sys/dev/ic/rt2661.c | 14 |
2 files changed, 16 insertions, 12 deletions
diff --git a/sys/dev/ic/rt2560.c b/sys/dev/ic/rt2560.c index e1577516ae2..889018ae38a 100644 --- a/sys/dev/ic/rt2560.c +++ b/sys/dev/ic/rt2560.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rt2560.c,v 1.19 2006/06/14 19:31:47 damien Exp $ */ +/* $OpenBSD: rt2560.c,v 1.20 2006/06/18 12:32:46 damien Exp $ */ /*- * Copyright (c) 2005, 2006 @@ -1778,6 +1778,13 @@ rt2560_tx_data(struct rt2560_softc *sc, struct mbuf *m0, wh = mtod(m0, struct ieee80211_frame *); } + /* + * Packet Bursting: backoff after ppb=8 frames to give other STAs a + * chance to contend for the wireless medium. + */ + if (ic->ic_opmode == IEEE80211_M_STA && (ni->ni_txseq & 7)) + flags |= RT2560_TX_IFS_SIFS; + /*- * IEEE Std 802.11-1999, pp 82: "A STA shall use an RTS/CTS exchange * for directed frames only when the length of the MPDU is greater @@ -1847,11 +1854,6 @@ rt2560_tx_data(struct rt2560_softc *sc, struct mbuf *m0, sc->txq.cur_encrypt = (sc->txq.cur_encrypt + 1) % RT2560_TX_RING_COUNT; - /* - * IEEE Std 802.11-1999: "when an RTS/CTS exchange is used, the - * asynchronous data frame shall be transmitted after the CTS - * frame and a SIFS period". - */ flags |= RT2560_TX_LONG_RETRY | RT2560_TX_IFS_SIFS; } diff --git a/sys/dev/ic/rt2661.c b/sys/dev/ic/rt2661.c index f9cce6bfd30..5603be2ab1a 100644 --- a/sys/dev/ic/rt2661.c +++ b/sys/dev/ic/rt2661.c @@ -1,4 +1,4 @@ -/* $OpenBSD: rt2661.c,v 1.21 2006/06/14 19:31:47 damien Exp $ */ +/* $OpenBSD: rt2661.c,v 1.22 2006/06/18 12:32:46 damien Exp $ */ /*- * Copyright (c) 2006 @@ -1614,6 +1614,13 @@ rt2661_tx_data(struct rt2661_softc *sc, struct mbuf *m0, wh = mtod(m0, struct ieee80211_frame *); } + /* + * Packet Bursting: backoff after ppb=8 frames to give other STAs a + * chance to contend for the wireless medium. + */ + if (ic->ic_opmode == IEEE80211_M_STA && (ni->ni_txseq & 7)) + flags |= RT2661_TX_IFS_SIFS; + /*- * IEEE Std 802.11-1999, pp 82: "A STA shall use an RTS/CTS exchange * for directed frames only when the length of the MPDU is greater @@ -1682,11 +1689,6 @@ rt2661_tx_data(struct rt2661_softc *sc, struct mbuf *m0, txq->queued++; txq->cur = (txq->cur + 1) % RT2661_TX_RING_COUNT; - /* - * IEEE Std 802.11-1999: "when an RTS/CTS exchange is used, the - * asynchronous data frame shall be transmitted after the CTS - * frame and a SIFS period". - */ flags |= RT2661_TX_LONG_RETRY | RT2661_TX_IFS_SIFS; } |