diff options
author | Arik Nemtsov <arik@wizery.com> | 2011-03-22 04:07:47 -0400 |
---|---|---|
committer | Luciano Coelho <coelho@ti.com> | 2011-04-19 09:49:13 -0400 |
commit | 17e672d6e4b5a8a3f330a70dfd58d25a2cb497b5 (patch) | |
tree | 2b1e0a871efb2ef0d3c45f5e82a4496bbb24bc5f | |
parent | 4a31c11c7d8c482598754a577a8fb71abb61ffa0 (diff) |
wl12xx: configure channel/band while FW is off
Initialize the channel and band from mac80211 conf even when the FW is
not yet loaded. This mitigates a bug in AP-mode where the channel was
never changed from its initial setting after FW boot and was therefore
never configured to FW.
Reported-by: Alexander Boukaty <alexanderb@ti.com>
Signed-off-by: Arik Nemtsov <arik@wizery.com>
Signed-off-by: Luciano Coelho <coelho@ti.com>
-rw-r--r-- | drivers/net/wireless/wl12xx/main.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/drivers/net/wireless/wl12xx/main.c b/drivers/net/wireless/wl12xx/main.c index 9663326c0dfa..5545c3b94d2e 100644 --- a/drivers/net/wireless/wl12xx/main.c +++ b/drivers/net/wireless/wl12xx/main.c | |||
@@ -1706,7 +1706,12 @@ static int wl1271_op_config(struct ieee80211_hw *hw, u32 changed) | |||
1706 | mutex_lock(&wl->mutex); | 1706 | mutex_lock(&wl->mutex); |
1707 | 1707 | ||
1708 | if (unlikely(wl->state == WL1271_STATE_OFF)) { | 1708 | if (unlikely(wl->state == WL1271_STATE_OFF)) { |
1709 | ret = -EAGAIN; | 1709 | /* we support configuring the channel and band while off */ |
1710 | if ((changed & IEEE80211_CONF_CHANGE_CHANNEL)) { | ||
1711 | wl->band = conf->channel->band; | ||
1712 | wl->channel = channel; | ||
1713 | } | ||
1714 | |||
1710 | goto out; | 1715 | goto out; |
1711 | } | 1716 | } |
1712 | 1717 | ||