Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit 351151e8 authored by Helmut Schaa's avatar Helmut Schaa Committed by John W. Linville
Browse files

rt2x00: Fix STBC transmissions to STAs with Rx STBC > 1



For STBC transmissions rt2x00 used the number of RxSTBC streams the
destination STA indicates in its HT capabilities as STBC value in
the TXWI.

However, the legacy drivers and our own comment in rt2800.h suggest
that the STBC field in the TXWI only allows a value of 0 or 1.
The values 2 and 3 are reserved (probably for future devices).

And indeed, STBC transmissions to STAs indicating more then 1
RxSTBC stream fail when the STBC field is set to something >1.

Fix this by only setting the STBC field to 1 when STBC should be
used.

Signed-off-by: default avatarHelmut Schaa <helmut.schaa@googlemail.com>
Acked-by: default avatarGertjan van Wingerde <gwingerde@gmail.com>
Signed-off-by: default avatarIvo van Doorn <IvDoorn@gmail.com>
Signed-off-by: default avatarJohn W. Linville <linville@tuxdriver.com>
parent 9e33a355
Loading
Loading
Loading
Loading
+5 −2
Original line number Original line Diff line number Diff line
@@ -43,8 +43,11 @@ void rt2x00ht_create_tx_descriptor(struct queue_entry *entry,


	txdesc->u.ht.ba_size = 7;	/* FIXME: What value is needed? */
	txdesc->u.ht.ba_size = 7;	/* FIXME: What value is needed? */


	txdesc->u.ht.stbc =
	/*
	    (tx_info->flags & IEEE80211_TX_CTL_STBC) >> IEEE80211_TX_CTL_STBC_SHIFT;
	 * Only one STBC stream is supported for now.
	 */
	if (tx_info->flags & IEEE80211_TX_CTL_STBC)
		txdesc->u.ht.stbc = 1;


	/*
	/*
	 * If IEEE80211_TX_RC_MCS is set txrate->idx just contains the
	 * If IEEE80211_TX_RC_MCS is set txrate->idx just contains the