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

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