mirror of https://gitee.com/openkylin/linux.git
rt2x00: Allow tx duplication for legacy rates in HT40 mode
Make use of the IEEE80211_TX_RC_DUP_DATA flag to duplicate a transmission with legacy rates to both 20Mhz channels if set. Also update the related comment in rt2800.h to describe the behavior of the BW_40 flag for legacy rates. 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>
This commit is contained in:
parent
95192339c2
commit
cb753b7253
|
@ -1982,7 +1982,8 @@ struct mac_iveiv_entry {
|
|||
* FRAG: 1 To inform TKIP engine this is a fragment.
|
||||
* MIMO_PS: The remote peer is in dynamic MIMO-PS mode
|
||||
* TX_OP: 0:HT TXOP rule , 1:PIFS TX ,2:Backoff, 3:sifs
|
||||
* BW: Channel bandwidth 20MHz or 40 MHz
|
||||
* BW: Channel bandwidth 0:20MHz, 1:40 MHz (for legacy rates this will
|
||||
* duplicate the frame to both channels).
|
||||
* STBC: 1: STBC support MCS =0-7, 2,3 : RESERVED
|
||||
* AMPDU: 1: this frame is eligible for AMPDU aggregation, the hw will
|
||||
* aggregate consecutive frames with the same RA and QoS TID.
|
||||
|
|
|
@ -85,7 +85,13 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,
|
|||
txdesc->rate_mode = RATE_MODE_HT_MIX;
|
||||
if (txrate->flags & IEEE80211_TX_RC_GREEN_FIELD)
|
||||
txdesc->rate_mode = RATE_MODE_HT_GREENFIELD;
|
||||
if (txrate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH)
|
||||
|
||||
/*
|
||||
* Set 40Mhz mode if necessary (for legacy rates this will
|
||||
* duplicate the frame to both channels).
|
||||
*/
|
||||
if (txrate->flags & IEEE80211_TX_RC_40_MHZ_WIDTH ||
|
||||
txrate->flags & IEEE80211_TX_RC_DUP_DATA)
|
||||
__set_bit(ENTRY_TXD_HT_BW_40, &txdesc->flags);
|
||||
if (txrate->flags & IEEE80211_TX_RC_SHORT_GI)
|
||||
__set_bit(ENTRY_TXD_HT_SHORT_GI, &txdesc->flags);
|
||||
|
|
Loading…
Reference in New Issue