diff options
author | Helmut Schaa <helmut.schaa@googlemail.com> | 2011-09-08 08:37:19 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2011-09-14 13:56:56 -0400 |
commit | ead2bb64a38c471ad0a769f61921f330f062dd50 (patch) | |
tree | 77169eb98f2c83d547ed4b40f717b9ef1f252db4 /drivers | |
parent | f03fcfc110739be5bae4f0edf33998b019ff7436 (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.c | 7 | ||||
-rw-r--r-- | drivers/net/wireless/rt2x00/rt2x00queue.h | 1 |
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 | ||