diff options
author | Eliad Peller <eliad@wizery.com> | 2011-04-07 15:52:05 +0300 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-05-02 10:26:02 +0300 |
commit | cb5ae0530e0e2af86d128ce758645b6b4a9132e1 (patch) | |
tree | 710a3fe0e22480df40f6d4d1ee0f050ce85203c7 /drivers/net/wireless/wl12xx/main.c | |
parent | 30df14d0d35dd166d50b8ea80d5f0b7ef1edb6da (diff) | |
download | kernel_samsung_smdk4412-cb5ae0530e0e2af86d128ce758645b6b4a9132e1.zip kernel_samsung_smdk4412-cb5ae0530e0e2af86d128ce758645b6b4a9132e1.tar.gz kernel_samsung_smdk4412-cb5ae0530e0e2af86d128ce758645b6b4a9132e1.tar.bz2 |
wl12xx: configure rates when working in ibss mode
When working in ibss mode, we don't configure rate policy per station
(as we use the same link for multiple stations), so currently the
1mb/s rate is being used.
Instead, configure the firmware to use the whole 11b rates by default.
Signed-off-by: Eliad Peller <eliad@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
Diffstat (limited to 'drivers/net/wireless/wl12xx/main.c')
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 18 |
1 files changed, 18 insertions, 0 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 1dd735c..53a8e23 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c @@ -2509,6 +2509,24 @@ static void wl1271_bss_info_changed_ap(struct wl1271 *wl, } } + if (changed & BSS_CHANGED_IBSS) { + wl1271_debug(DEBUG_ADHOC, "ibss_joined: %d", + bss_conf->ibss_joined); + + if (bss_conf->ibss_joined) { + u32 rates = bss_conf->basic_rates; + wl->basic_rate_set = wl1271_tx_enabled_rates_get(wl, + rates); + wl->basic_rate = wl1271_tx_min_rate_get(wl); + + /* by default, use 11b rates */ + wl->rate_set = CONF_TX_IBSS_DEFAULT_RATES; + ret = wl1271_acx_sta_rate_policies(wl); + if (ret < 0) + goto out; + } + } + ret = wl1271_bss_erp_info_changed(wl, bss_conf, changed); if (ret < 0) goto out; |