summaryrefslogtreecommitdiff
path: root/drivers/net
diff options
context:
space:
mode:
authorIvo van Doorn <ivdoorn@gmail.com>2008-01-10 22:40:13 +0100
committerDavid S. Miller <davem@davemloft.net>2008-01-28 15:09:48 -0800
commit89539ebe2f2eb3a0d77b92884b092f2eb2575bd9 (patch)
treeefa1eb958569e87faa0111755a6cabb7d132420c /drivers/net
parent40561b8426c27f187e2ae496ed603e7c4e3ab818 (diff)
rt2x00: Fix queue_idx initialization
For TX rings the queue_idx should start at IEEE80211_TX_QUEUE_DATA0 and for each followup ring this index needs to be increased. For the RX ring the queue_idx should be set to 0. We don't need to initialize the tx_params. Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00dev.c13
1 files changed, 9 insertions, 4 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00dev.c b/drivers/net/wireless/rt2x00/rt2x00dev.c
index 72cfe6f866f8..c4be2ac4d7a4 100644
--- a/drivers/net/wireless/rt2x00/rt2x00dev.c
+++ b/drivers/net/wireless/rt2x00/rt2x00dev.c
@@ -1239,11 +1239,16 @@ static int rt2x00lib_alloc_rings(struct rt2x00_dev *rt2x00dev)
/*
* Initialize ring parameters.
- * cw_min: 2^5 = 32.
- * cw_max: 2^10 = 1024.
+ * RX: queue_idx = 0
+ * TX: queue_idx = IEEE80211_TX_QUEUE_DATA0 + index
+ * TX: cw_min: 2^5 = 32.
+ * TX: cw_max: 2^10 = 1024.
*/
- index = 0;
- ring_for_each(rt2x00dev, ring) {
+ rt2x00dev->rx->rt2x00dev = rt2x00dev;
+ rt2x00dev->rx->queue_idx = 0;
+
+ index = IEEE80211_TX_QUEUE_DATA0;
+ txring_for_each(rt2x00dev, ring) {
ring->rt2x00dev = rt2x00dev;
ring->queue_idx = index++;
ring->tx_params.aifs = 2;