mac80211: brcmfmac: backport 4.19 patches preparing monitor mode support
[openwrt/staging/wigyori.git] / package / kernel / mac80211 / patches / 090-Revert-rt2800-use-TXOP_BACKOFF-for-probe-frames.patch
1 From patchwork Mon May 28 11:25:06 2018
2 Content-Type: text/plain; charset="utf-8"
3 MIME-Version: 1.0
4 Content-Transfer-Encoding: 7bit
5 Subject: Revert "rt2800: use TXOP_BACKOFF for probe frames"
6 From: Stanislaw Gruszka <sgruszka@redhat.com>
7 X-Patchwork-Id: 10431861
8 Message-Id: <1527506706-6488-1-git-send-email-sgruszka@redhat.com>
9 To: linux-wireless@vger.kernel.org
10 Date: Mon, 28 May 2018 13:25:06 +0200
11
12 This reverts commit fb47ada8dc3c30c8e7b415da155742b49536c61e.
13
14 In some situations when we set TXOP_BACKOFF, the probe frame is
15 not sent at all. What it worse then sending probe frame as part
16 of AMPDU and can degrade 11n performance to 11g rates.
17
18 Cc: stable@vger.kernel.org
19 Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
20 ---
21 drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 7 +++----
22 1 file changed, 3 insertions(+), 4 deletions(-)
23
24 --- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
25 +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
26 @@ -372,16 +372,15 @@ static void rt2x00queue_create_tx_descri
27
28 /*
29 * Determine IFS values
30 - * - Use TXOP_BACKOFF for probe and management frames except beacons
31 + * - Use TXOP_BACKOFF for management frames except beacons
32 * - Use TXOP_SIFS for fragment bursts
33 * - Use TXOP_HTTXOP for everything else
34 *
35 * Note: rt2800 devices won't use CTS protection (if used)
36 * for frames not transmitted with TXOP_HTTXOP
37 */
38 - if ((ieee80211_is_mgmt(hdr->frame_control) &&
39 - !ieee80211_is_beacon(hdr->frame_control)) ||
40 - (tx_info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE))
41 + if (ieee80211_is_mgmt(hdr->frame_control) &&
42 + !ieee80211_is_beacon(hdr->frame_control))
43 txdesc->u.ht.txop = TXOP_BACKOFF;
44 else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
45 txdesc->u.ht.txop = TXOP_SIFS;