diff options
author | Arik Nemtsov <arik@wizery.com> | 2014-02-10 06:47:28 -0500 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-02-13 15:20:16 -0500 |
commit | bc566f9203c2813a2e083677eb99c62b1cb14d03 (patch) | |
tree | d879f42c8a8f14326e670669ea49b439a5faab18 | |
parent | 5a441f5ff75daf9c3c6657a66e2806a1255f5b84 (diff) |
wlcore: wl18xx: allow CCK rates for AP mode
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>
Signed-off-by: John W. Linville <linville@tuxdriver.com>
-rw-r--r-- | drivers/net/wireless/ti/wl12xx/main.c | 1 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/init.c | 2 | ||||
-rw-r--r-- | drivers/net/wireless/ti/wlcore/wlcore.h | 3 |
3 files changed, 5 insertions, 1 deletions
diff --git a/drivers/net/wireless/ti/wl12xx/main.c b/drivers/net/wireless/ti/wl12xx/main.c index 33071a770630..d50dfac91631 100644 --- 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 *wl) | |||
1789 | wl->fw_status_len = sizeof(struct wl12xx_fw_status); | 1789 | wl->fw_status_len = sizeof(struct wl12xx_fw_status); |
1790 | wl->fw_status_priv_len = 0; | 1790 | wl->fw_status_priv_len = 0; |
1791 | wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics); | 1791 | wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics); |
1792 | wl->ofdm_only_ap = true; | ||
1792 | wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ, &wl12xx_ht_cap); | 1793 | wlcore_set_ht_cap(wl, IEEE80211_BAND_2GHZ, &wl12xx_ht_cap); |
1793 | wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap); | 1794 | wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap); |
1794 | wl12xx_conf_init(wl); | 1795 | wl12xx_conf_init(wl); |
diff --git a/drivers/net/wireless/ti/wlcore/init.c b/drivers/net/wireless/ti/wlcore/init.c index 7699f9d07e26..b376c996c0a7 100644 --- 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 *wl, struct wl12xx_vif *wlvif) | |||
462 | * If the basic rates contain OFDM rates, use OFDM only | 462 | * If the basic rates contain OFDM rates, use OFDM only |
463 | * rates for unicast TX as well. Else use all supported rates. | 463 | * rates for unicast TX as well. Else use all supported rates. |
464 | */ | 464 | */ |
465 | if ((wlvif->basic_rate_set & CONF_TX_OFDM_RATES)) | 465 | if (wl->ofdm_only_ap && (wlvif->basic_rate_set & CONF_TX_OFDM_RATES)) |
466 | supported_rates = CONF_TX_OFDM_RATES; | 466 | supported_rates = CONF_TX_OFDM_RATES; |
467 | else | 467 | else |
468 | supported_rates = CONF_TX_ENABLED_RATES; | 468 | supported_rates = CONF_TX_ENABLED_RATES; |
diff --git a/drivers/net/wireless/ti/wlcore/wlcore.h b/drivers/net/wireless/ti/wlcore/wlcore.h index a1cc1c639fd6..95a54504f0cc 100644 --- a/drivers/net/wireless/ti/wlcore/wlcore.h +++ b/drivers/net/wireless/ti/wlcore/wlcore.h | |||
@@ -407,6 +407,9 @@ struct wl1271 { | |||
407 | /* AP-mode - number of currently connected stations */ | 407 | /* AP-mode - number of currently connected stations */ |
408 | int active_sta_count; | 408 | int active_sta_count; |
409 | 409 | ||
410 | /* Flag determining whether AP should broadcast OFDM-only rates */ | ||
411 | bool ofdm_only_ap; | ||
412 | |||
410 | /* last wlvif we transmitted from */ | 413 | /* last wlvif we transmitted from */ |
411 | struct wl12xx_vif *last_wlvif; | 414 | struct wl12xx_vif *last_wlvif; |
412 | 415 | ||