Linux kernel mirror (for testing) git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux.git
kernel os linux

mac80211: minstrel_ht: handle peers in dynamic SMPS

In case of Dynamic SMPS enable RTS/CTS for all rates.

Signed-off-by: Chaitanya T K <chaitanya.mgit@gmail.com>
[change comment]
Signed-off-by: Johannes Berg <johannes.berg@intel.com>

authored by

Krishna Chaitanya and committed by
Johannes Berg
a3ebb4e1 932e628d

+7 -1
+7 -1
net/mac80211/rc80211_minstrel_ht.c
··· 867 867 else 868 868 idx = index % MCS_GROUP_RATES + (group->streams - 1) * 8; 869 869 870 - if (offset > 0) { 870 + /* enable RTS/CTS if needed: 871 + * - if station is in dynamic SMPS (and streams > 1) 872 + * - for fallback rates, to increase chances of getting through 873 + */ 874 + if (offset > 0 && 875 + (mi->sta->smps_mode == IEEE80211_SMPS_DYNAMIC && 876 + group->streams > 1)) { 871 877 ratetbl->rate[offset].count = ratetbl->rate[offset].count_rts; 872 878 flags |= IEEE80211_TX_RC_USE_RTS_CTS; 873 879 }