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>
This commit is contained in:
Arik Nemtsov 2014-02-10 13:47:28 +02:00 committed by John W. Linville
parent 5a441f5ff7
commit bc566f9203
3 changed files with 5 additions and 1 deletions

View File

@ -1789,6 +1789,7 @@ static int wl12xx_setup(struct wl1271 *wl)
wl->fw_status_len = sizeof(struct wl12xx_fw_status); wl->fw_status_len = sizeof(struct wl12xx_fw_status);
wl->fw_status_priv_len = 0; wl->fw_status_priv_len = 0;
wl->stats.fw_stats_len = sizeof(struct wl12xx_acx_statistics); 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_2GHZ, &wl12xx_ht_cap);
wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap); wlcore_set_ht_cap(wl, IEEE80211_BAND_5GHZ, &wl12xx_ht_cap);
wl12xx_conf_init(wl); wl12xx_conf_init(wl);

View File

@ -462,7 +462,7 @@ int wl1271_init_ap_rates(struct wl1271 *wl, struct wl12xx_vif *wlvif)
* If the basic rates contain OFDM rates, use OFDM only * If the basic rates contain OFDM rates, use OFDM only
* rates for unicast TX as well. Else use all supported rates. * 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; supported_rates = CONF_TX_OFDM_RATES;
else else
supported_rates = CONF_TX_ENABLED_RATES; supported_rates = CONF_TX_ENABLED_RATES;

View File

@ -407,6 +407,9 @@ struct wl1271 {
/* AP-mode - number of currently connected stations */ /* AP-mode - number of currently connected stations */
int active_sta_count; int active_sta_count;
/* Flag determining whether AP should broadcast OFDM-only rates */
bool ofdm_only_ap;
/* last wlvif we transmitted from */ /* last wlvif we transmitted from */
struct wl12xx_vif *last_wlvif; struct wl12xx_vif *last_wlvif;