090-Revert-rt2800-use-TXOP_BACKOFF-for-probe-frames.patch 1.8 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445
  1. From 52a192362932f333a7ebafd581c4d9b81da2fec8 Mon Sep 17 00:00:00 2001
  2. From: Stanislaw Gruszka <sgruszka@redhat.com>
  3. Date: Mon, 28 May 2018 13:25:06 +0200
  4. Subject: [PATCH] Revert "rt2800: use TXOP_BACKOFF for probe frames"
  5. This reverts commit fb47ada8dc3c30c8e7b415da155742b49536c61e.
  6. In some situations when we set TXOP_BACKOFF, the probe frame is
  7. not sent at all. What it worse then sending probe frame as part
  8. of AMPDU and can degrade 11n performance to 11g rates.
  9. Cc: stable@vger.kernel.org
  10. Signed-off-by: Stanislaw Gruszka <sgruszka@redhat.com>
  11. Signed-off-by: Kalle Valo <kvalo@codeaurora.org>
  12. ---
  13. drivers/net/wireless/ralink/rt2x00/rt2x00queue.c | 7 +++----
  14. 1 file changed, 3 insertions(+), 4 deletions(-)
  15. diff --git a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
  16. index a6884e73d2ab..7ddee980048b 100644
  17. --- a/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
  18. +++ b/drivers/net/wireless/ralink/rt2x00/rt2x00queue.c
  19. @@ -372,16 +372,15 @@ static void rt2x00queue_create_tx_descriptor_ht(struct rt2x00_dev *rt2x00dev,
  20. /*
  21. * Determine IFS values
  22. - * - Use TXOP_BACKOFF for probe and management frames except beacons
  23. + * - Use TXOP_BACKOFF for management frames except beacons
  24. * - Use TXOP_SIFS for fragment bursts
  25. * - Use TXOP_HTTXOP for everything else
  26. *
  27. * Note: rt2800 devices won't use CTS protection (if used)
  28. * for frames not transmitted with TXOP_HTTXOP
  29. */
  30. - if ((ieee80211_is_mgmt(hdr->frame_control) &&
  31. - !ieee80211_is_beacon(hdr->frame_control)) ||
  32. - (tx_info->flags & IEEE80211_TX_CTL_RATE_CTRL_PROBE))
  33. + if (ieee80211_is_mgmt(hdr->frame_control) &&
  34. + !ieee80211_is_beacon(hdr->frame_control))
  35. txdesc->u.ht.txop = TXOP_BACKOFF;
  36. else if (!(tx_info->flags & IEEE80211_TX_CTL_FIRST_FRAGMENT))
  37. txdesc->u.ht.txop = TXOP_SIFS;
  38. --
  39. 2.17.1