From 89539ebe2f2eb3a0d77b92884b092f2eb2575bd9 Mon Sep 17 00:00:00 2001 From: Ivo van Doorn Date: Thu, 10 Jan 2008 22:40:13 +0100 Subject: 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 Signed-off-by: John W. Linville --- drivers/net/wireless/rt2x00/rt2x00dev.c | 13 +++++++++---- 1 file changed, 9 insertions(+), 4 deletions(-) (limited to 'drivers') 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; -- cgit v1.2.3-59-g8ed1b