rt2x00: Fix queue_idx initialization
PATCH 1/1 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 <[email protected]>
---
John, this too is a followup on rt2x00 2.0.14. This fixes rt61pci, after this patch it can associate and succesfully transfer data again. :)
drivers/net/wireless/rt2x00/rt2x00dev.c | 13 +++++++++---- 1 files changed, 9 insertions(+), 4 deletions(-)
drivers/net/wireless/rt2x00/rt2x00dev.c +9 -4
@@ -1282,11 +1282,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 ;
Signature · 1 line
1.5.3.7