Message ID | 1559648280-16284-1-git-send-email-mkenna@codeaurora.org (mailing list archive) |
---|---|
State | Accepted |
Commit | 3676c26226da95d10503c4d9588616f2c719289e |
Delegated to: | Kalle Valo |
Headers | show |
Series | ath11k: Disable peer fixed rate before setting the vdev fixed rate | expand |
Maharaja Kennadyrajan <mkenna@codeaurora.org> wrote: > As per the firmware design, peer fixed rate should be disabled before > setting the VDEV fixed rate again. > When it is not disabled, then the user can't set the legacy rate(VDEV > fixed rate) after setting peer fixed rate(as peer fixed rate has higher > priority in the rate setting). > > Signed-off-by: Maharaja Kennadyrajan <mkenna@codeaurora.org> Patch applied to ath.git, thanks. 3676c26226da ath11k: Disable peer fixed rate before setting the vdev fixed rate
diff --git a/drivers/net/wireless/ath/ath11k/mac.c b/drivers/net/wireless/ath/ath11k/mac.c index cb0de8e2aa60..cb1189136959 100644 --- a/drivers/net/wireless/ath/ath11k/mac.c +++ b/drivers/net/wireless/ath/ath11k/mac.c @@ -4573,6 +4573,23 @@ static void ath11k_mac_set_bitrate_mask_iter(void *data, ieee80211_queue_work(ar->hw, &arsta->update_wk); } +static void ath11k_mac_disable_peer_fixed_rate(void *data, + struct ieee80211_sta *sta) +{ + struct ath11k_vif *arvif = data; + struct ath11k *ar = arvif->ar; + int ret; + + ret = ath11k_wmi_set_peer_param(ar, sta->addr, + arvif->vdev_id, + WMI_PEER_PARAM_FIXED_RATE, + WMI_FIXED_RATE_NONE); + if (ret) + ath11k_warn(ar->ab, + "failed to disable peer fixed rate for STA %pM ret %d\n", + sta->addr, ret); +} + static int ath11k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw, struct ieee80211_vif *vif, @@ -4620,6 +4637,9 @@ ath11k_mac_op_set_bitrate_mask(struct ieee80211_hw *hw, arvif->vdev_id, ret); return ret; } + ieee80211_iterate_stations_atomic(ar->hw, + ath11k_mac_disable_peer_fixed_rate, + arvif); } else if (ath11k_mac_bitrate_mask_get_single_nss(ar, band, mask, &single_nss)) { rate = WMI_FIXED_RATE_NONE;
As per the firmware design, peer fixed rate should be disabled before setting the VDEV fixed rate again. When it is not disabled, then the user can't set the legacy rate(VDEV fixed rate) after setting peer fixed rate(as peer fixed rate has higher priority in the rate setting). Signed-off-by: Maharaja Kennadyrajan <mkenna@codeaurora.org> --- drivers/net/wireless/ath/ath11k/mac.c | 20 ++++++++++++++++++++ 1 file changed, 20 insertions(+)