2019-02-25 19:42:28 +00:00
|
|
|
From: Sven Eckelmann <sven@narfation.org>
|
|
|
|
Date: Tue, 26 Feb 2019 08:06:35 +0100
|
|
|
|
Subject: ath10k-ct: apply mac80211 rates to ath10k-ct rate state
|
|
|
|
|
|
|
|
The rates from mac80211 have to be copied to the state of ath10k-ct or
|
|
|
|
otherwise the ath10k_check_apply_special_rates function overwrites
|
|
|
|
them again with some default values. This breaks for example the
|
|
|
|
mcast_rate set for a wifi-iface.
|
|
|
|
|
|
|
|
Signed-off-by: Sven Eckelmann <sven@narfation.org>
|
|
|
|
|
|
|
|
--- a/ath10k-4.19/mac.c
|
|
|
|
+++ b/ath10k-4.19/mac.c
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6625,6 +6625,7 @@ static void ath10k_bss_info_changed(stru
|
2019-02-25 19:42:28 +00:00
|
|
|
"mac vdev %d mcast_rate %x\n",
|
|
|
|
arvif->vdev_id, rate);
|
|
|
|
|
|
|
|
+ arvif->mcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6633,6 +6634,7 @@ static void ath10k_bss_info_changed(stru
|
2019-02-25 19:42:28 +00:00
|
|
|
"failed to set mcast rate on vdev %i: %d\n",
|
|
|
|
arvif->vdev_id, ret);
|
|
|
|
|
|
|
|
+ arvif->bcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->bcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6659,6 +6661,7 @@ static void ath10k_bss_info_changed(stru
|
2019-02-25 19:42:28 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ arvif->mgt_rate[def.chan->band] = hw_rate_code;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mgmt_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
|
|
|
|
hw_rate_code);
|
2019-07-07 11:48:20 +00:00
|
|
|
--- a/ath10k-5.2/mac.c
|
|
|
|
+++ b/ath10k-5.2/mac.c
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6742,6 +6742,7 @@ static void ath10k_bss_info_changed(stru
|
2019-07-07 11:48:20 +00:00
|
|
|
"mac vdev %d mcast_rate %x\n",
|
|
|
|
arvif->vdev_id, rate);
|
|
|
|
|
|
|
|
+ arvif->mcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6750,6 +6751,7 @@ static void ath10k_bss_info_changed(stru
|
2019-07-07 11:48:20 +00:00
|
|
|
"failed to set mcast rate on vdev %i: %d\n",
|
|
|
|
arvif->vdev_id, ret);
|
|
|
|
|
|
|
|
+ arvif->bcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->bcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
2020-01-29 22:19:30 +00:00
|
|
|
@@ -6776,6 +6778,7 @@ static void ath10k_bss_info_changed(stru
|
2019-07-07 11:48:20 +00:00
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ arvif->mgt_rate[def.chan->band] = hw_rate_code;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mgmt_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
|
|
|
|
hw_rate_code);
|
2019-11-09 16:06:06 +00:00
|
|
|
--- a/ath10k-5.4/mac.c
|
|
|
|
+++ b/ath10k-5.4/mac.c
|
|
|
|
@@ -6793,6 +6793,7 @@ static void ath10k_bss_info_changed(stru
|
|
|
|
"mac vdev %d mcast_rate %x\n",
|
|
|
|
arvif->vdev_id, rate);
|
|
|
|
|
|
|
|
+ arvif->mcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
|
|
|
@@ -6801,6 +6802,7 @@ static void ath10k_bss_info_changed(stru
|
|
|
|
"failed to set mcast rate on vdev %i: %d\n",
|
|
|
|
arvif->vdev_id, ret);
|
|
|
|
|
|
|
|
+ arvif->bcast_rate[band] = rate;
|
|
|
|
vdev_param = ar->wmi.vdev_param->bcast_data_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id,
|
|
|
|
vdev_param, rate);
|
|
|
|
@@ -6827,6 +6829,7 @@ static void ath10k_bss_info_changed(stru
|
|
|
|
return;
|
|
|
|
}
|
|
|
|
|
|
|
|
+ arvif->mgt_rate[def.chan->band] = hw_rate_code;
|
|
|
|
vdev_param = ar->wmi.vdev_param->mgmt_rate;
|
|
|
|
ret = ath10k_wmi_vdev_set_param(ar, arvif->vdev_id, vdev_param,
|
|
|
|
hw_rate_code);
|