diff options
author | Imre Kaloz <kaloz@openwrt.org> | 2014-03-18 18:55:54 +0000 |
---|---|---|
committer | Imre Kaloz <kaloz@openwrt.org> | 2014-03-18 18:55:54 +0000 |
commit | 531dc9fe42ce5baa4d6af991600606e418ea52ca (patch) | |
tree | c198b11fb053024a4a611b1c06eea2bbe2b7c65f /package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch | |
parent | aabce5cf6a31bf82c3df2328f60ca747c6f5b84f (diff) | |
download | master-31e0f0ae-531dc9fe42ce5baa4d6af991600606e418ea52ca.tar.gz master-31e0f0ae-531dc9fe42ce5baa4d6af991600606e418ea52ca.tar.bz2 master-31e0f0ae-531dc9fe42ce5baa4d6af991600606e418ea52ca.zip |
add add new firmware support and additional fixes for wl18xx
Signed-off-by: Imre Kaloz <kaloz@openwrt.org>
SVN-Revision: 39947
Diffstat (limited to 'package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch')
-rw-r--r-- | package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch | 47 |
1 files changed, 47 insertions, 0 deletions
diff --git a/package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch b/package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch new file mode 100644 index 0000000000..c957b9c04e --- /dev/null +++ b/package/kernel/mac80211/patches/912-wlcore-wl18xx-allow-CCK-rates-for-AP-mode.patch @@ -0,0 +1,47 @@ +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; + |