aboutsummaryrefslogtreecommitdiffstats
path: root/drivers
diff options
context:
space:
mode:
authorHelmut Schaa <helmut.schaa@googlemail.com>2011-09-08 08:37:19 -0400
committerJohn W. Linville <linville@tuxdriver.com>2011-09-14 13:56:56 -0400
commitead2bb64a38c471ad0a769f61921f330f062dd50 (patch)
tree77169eb98f2c83d547ed4b40f717b9ef1f252db4 /drivers
parentf03fcfc110739be5bae4f0edf33998b019ff7436 (diff)
rt2x00: Add WCID to HT TX descriptor
When sending an unencrypted frame to a STA the driver might want to pass a suitable WCID since we don't have a key index to allow tx status reports to get properly assigned to the correct STA. Signed-off-by: Helmut Schaa <helmut.schaa@googlemail.com> Signed-off-by: Ivo van Doorn <IvDoorn@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers')
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.c7
-rw-r--r--drivers/net/wireless/rt2x00/rt2x00queue.h1
2 files changed, 7 insertions, 1 deletions
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.c b/drivers/net/wireless/rt2x00/rt2x00queue.c
index 29edb9fbe6f1..5adfb3eab9cd 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.c
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.c
@@ -310,11 +310,16 @@ static void rt2x00queue_create_tx_descriptor_ht(struct rt2x00_dev *rt2x00dev,
310 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb); 310 struct ieee80211_tx_info *tx_info = IEEE80211_SKB_CB(skb);
311 struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0]; 311 struct ieee80211_tx_rate *txrate = &tx_info->control.rates[0];
312 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data; 312 struct ieee80211_hdr *hdr = (struct ieee80211_hdr *)skb->data;
313 struct rt2x00_sta *sta_priv = NULL;
313 314
314 if (tx_info->control.sta) 315 if (tx_info->control.sta) {
315 txdesc->u.ht.mpdu_density = 316 txdesc->u.ht.mpdu_density =
316 tx_info->control.sta->ht_cap.ampdu_density; 317 tx_info->control.sta->ht_cap.ampdu_density;
317 318
319 sta_priv = sta_to_rt2x00_sta(tx_info->control.sta);
320 txdesc->u.ht.wcid = sta_priv->wcid;
321 }
322
318 txdesc->u.ht.ba_size = 7; /* FIXME: What value is needed? */ 323 txdesc->u.ht.ba_size = 7; /* FIXME: What value is needed? */
319 324
320 /* 325 /*
diff --git a/drivers/net/wireless/rt2x00/rt2x00queue.h b/drivers/net/wireless/rt2x00/rt2x00queue.h
index f22aa8676cee..349008d1fb28 100644
--- a/drivers/net/wireless/rt2x00/rt2x00queue.h
+++ b/drivers/net/wireless/rt2x00/rt2x00queue.h
@@ -321,6 +321,7 @@ struct txentry_desc {
321 u8 ba_size; 321 u8 ba_size;
322 u8 mpdu_density; 322 u8 mpdu_density;
323 enum txop txop; 323 enum txop txop;
324 int wcid;
324 } ht; 325 } ht;
325 } u; 326 } u;
326 327