summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/wl12xx/main.c
diff options
context:
space:
mode:
authorEliad Peller2011-10-10 10:13:11 +0200
committerLuciano Coelho2011-10-11 14:12:13 +0200
commit6bd650299046f00df6d7374c7f61c5afe6df6696 (patch)
treed4b386acb9909478100cdb0f8c8876507b8bb83f /drivers/net/wireless/wl12xx/main.c
parentwl12xx: add channel field to wlvif (diff)
downloadkernel-qcow2-linux-6bd650299046f00df6d7374c7f61c5afe6df6696.tar.gz
kernel-qcow2-linux-6bd650299046f00df6d7374c7f61c5afe6df6696.tar.xz
kernel-qcow2-linux-6bd650299046f00df6d7374c7f61c5afe6df6696.zip
wl12xx: add power_level field to wlvif
move power_level into the per-interface data. mac80211 configures some values (e.g. band, channel) globally, while we configure them per-interface. In order to make it easier to keep track of the configured value for each value while keeping sync with mac80211, save these values both globally and per-vif. 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.c4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c
index 5137275d3591..cffb40be7b5b 100644
--- a/drivers/net/wireless/wl12xx/main.c
+++ b/drivers/net/wireless/wl12xx/main.c
@@ -1974,6 +1974,7 @@ static int wl12xx_init_vif_data(struct wl1271 *wl, struct ieee80211_vif *vif)
*/
wlvif->band = wl->band;
wlvif->channel = wl->channel;
+ wlvif->power_level = wl->power_level;
INIT_WORK(&wlvif->rx_streaming_enable_work,
wl1271_rx_streaming_enable_work);
@@ -2562,12 +2563,13 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed)
wlvif->basic_rate, true);
}
- if (conf->power_level != wl->power_level) {
+ if (conf->power_level != wlvif->power_level) {
ret = wl1271_acx_tx_power(wl, wlvif, conf->power_level);
if (ret < 0)
goto out_sleep;
wl->power_level = conf->power_level;
+ wlvif->power_level = conf->power_level;
}
out_sleep: