48 lines
1.8 KiB
Diff
48 lines
1.8 KiB
Diff
|
12xx chips allow only OFDM rates in AP mode for BT-Coex purposes. This
|
||
|
is no longer required in 18xx chips, starting with FW 8.6.0.0.8.
|
||
|
|
||
|
Update the min allowed FW version in 18xx to support this functionality.
|
||
|
|
||
|
Signed-off-by: Arik Nemtsov <arik@wizery.com>
|
||
|
Signed-off-by: Eliad Peller <eliad@wizery.com>
|
||
|
|
||
|
---
|
||
|
drivers/net/wireless/ti/wl12xx/main.c | 1 +
|
||
|
drivers/net/wireless/ti/wlcore/init.c | 2 +-
|
||
|
drivers/net/wireless/ti/wlcore/wlcore.h | 3 +++
|
||
|
3 files changed, 5 insertions(+), 1 deletion(-)
|
||
|
|
||
|
--- a/drivers/net/wireless/ti/wl12xx/main.c
|
||
|
+++ b/drivers/net/wireless/ti/wl12xx/main.c
|
||
|
@@ -1789,6 +1789,7 @@ static int wl12xx_setup(struct wl1271 *w
|
||
|
wl->fw_status_len = sizeof(struct wl12xx_fw_status);
|
||
|
wl->fw_status_priv_len = 0;
|
||
|
wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics);
|
||
|
+ wl->ofdm_only_ap = true;
|
||
|
wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ, &wl12xx_ht_cap);
|
||
|
wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap);
|
||
|
wl12xx_conf_init(wl);
|
||
|
--- a/drivers/net/wireless/ti/wlcore/init.c
|
||
|
+++ b/drivers/net/wireless/ti/wlcore/init.c
|
||
|
@@ -462,7 +462,7 @@ int wl1271_init_ap_rates(struct wl1271 *
|
||
|
* If the basic rates contain OFDM rates, use OFDM only
|
||
|
* rates for unicast TX as well. Else use all supported rates.
|
||
|
*/
|
||
|
- if ((wlvif->basic_rate_set & CONF_TX_OFDM_RATES))
|
||
|
+ if (wl->ofdm_only_ap && (wlvif->basic_rate_set & CONF_TX_OFDM_RATES))
|
||
|
supported_rates = CONF_TX_OFDM_RATES;
|
||
|
else
|
||
|
supported_rates = CONF_TX_ENABLED_RATES;
|
||
|
--- a/drivers/net/wireless/ti/wlcore/wlcore.h
|
||
|
+++ b/drivers/net/wireless/ti/wlcore/wlcore.h
|
||
|
@@ -409,6 +409,9 @@ struct wl1271 {
|
||
|
/* AP-mode - number of currently connected stations */
|
||
|
int active_sta_count;
|
||
|
|
||
|
+ /* Flag determining whether AP should broadcast OFDM-only rates */
|
||
|
+ bool ofdm_only_ap;
|
||
|
+
|
||
|
/* last wlvif we transmitted from */
|
||
|
struct wl12xx_vif *last_wlvif;
|
||
|
|