diff options
author | Juuso Oikarinen <juuso.oikarinen@nokia.com> | 2010-09-01 05:31:11 -0400 |
---|---|---|
committer | Luciano Coelho <luciano.coelho@nokia.com> | 2010-09-28 05:30:01 -0400 |
commit | ed484a16b495ee7e13cb28fd6ff6053d10657633 (patch) | |
tree | b7f4175798dcc43a311d185317cd736022b60642 /drivers | |
parent | 11eb54298fa7197cb4187f8a3474ead0709f76ff (diff) |
wl1271: Fix tid-configuration of TX frames
Incorrect TID was configured for TX frames. This resulted in incorrect
queues to be used for classes in transmission.
Signed-off-by: Juuso Oikarinen <juuso.oikarinen@nokia.com>
Reviewed-by: Luciano Coelho <luciano.coelho@nokia.com>
Signed-off-by: Luciano Coelho <luciano.coelho@nokia.com>
Diffstat (limited to 'drivers')
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_tx.c | 4 | ||||
-rw-r--r-- | drivers/net/wireless/wl12xx/wl1271_tx.h | 17 |
2 files changed, 2 insertions, 19 deletions
diff --git a/drivers/net/wireless/wl12xx/wl1271_tx.c b/drivers/net/wireless/wl12xx/wl1271_tx.c index 0f99eff3b7ef..1b8295c5dde4 100644 --- a/drivers/net/wireless/wl12xx/wl1271_tx.c +++ b/drivers/net/wireless/wl12xx/wl1271_tx.c | |||
@@ -110,9 +110,9 @@ static int wl1271_tx_fill_hdr(struct wl1271 *wl, struct sk_buff *skb, | |||
110 | /* configure the tx attributes */ | 110 | /* configure the tx attributes */ |
111 | tx_attr = wl->session_counter << TX_HW_ATTR_OFST_SESSION_COUNTER; | 111 | tx_attr = wl->session_counter << TX_HW_ATTR_OFST_SESSION_COUNTER; |
112 | 112 | ||
113 | /* queue */ | 113 | /* queue (we use same identifiers for tid's and ac's */ |
114 | ac = wl1271_tx_get_queue(skb_get_queue_mapping(skb)); | 114 | ac = wl1271_tx_get_queue(skb_get_queue_mapping(skb)); |
115 | desc->tid = wl1271_tx_ac_to_tid(ac); | 115 | desc->tid = ac; |
116 | 116 | ||
117 | desc->aid = TX_HW_DEFAULT_AID; | 117 | desc->aid = TX_HW_DEFAULT_AID; |
118 | desc->reserved = 0; | 118 | desc->reserved = 0; |
diff --git a/drivers/net/wireless/wl12xx/wl1271_tx.h b/drivers/net/wireless/wl12xx/wl1271_tx.h index 48bf92621c03..d12a129ad11c 100644 --- a/drivers/net/wireless/wl12xx/wl1271_tx.h +++ b/drivers/net/wireless/wl12xx/wl1271_tx.h | |||
@@ -139,23 +139,6 @@ static inline int wl1271_tx_get_queue(int queue) | |||
139 | } | 139 | } |
140 | } | 140 | } |
141 | 141 | ||
142 | /* wl1271 tx descriptor needs the tid and we need to convert it from ac */ | ||
143 | static inline int wl1271_tx_ac_to_tid(int ac) | ||
144 | { | ||
145 | switch (ac) { | ||
146 | case 0: | ||
147 | return 0; | ||
148 | case 1: | ||
149 | return 2; | ||
150 | case 2: | ||
151 | return 4; | ||
152 | case 3: | ||
153 | return 6; | ||
154 | default: | ||
155 | return 0; | ||
156 | } | ||
157 | } | ||
158 | |||
159 | void wl1271_tx_work(struct work_struct *work); | 142 | void wl1271_tx_work(struct work_struct *work); |
160 | void wl1271_tx_complete(struct wl1271 *wl); | 143 | void wl1271_tx_complete(struct wl1271 *wl); |
161 | void wl1271_tx_reset(struct wl1271 *wl); | 144 | void wl1271_tx_reset(struct wl1271 *wl); |