[PATCH 5/9] b43: b43_op_config: set channel info before switching band
Rafał Miłecki
zajec5 at gmail.com
Sat May 31 11:49:37 PDT 2014
Band switching code needs to know what channel we switch to.
Signed-off-by: Rafał Miłecki <zajec5 at gmail.com>
---
drivers/net/wireless/b43/main.c | 3 ++-
drivers/net/wireless/b43/phy_common.c | 1 -
2 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 59aa4fd..5e4eed3 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -3808,6 +3808,7 @@ static int b43_op_config(struct ieee80211_hw *hw, u32 changed)
b43_mac_suspend(dev);
if (changed & IEEE80211_CONF_CHANGE_CHANNEL) {
+ phy->channel = conf->chandef.chan->hw_value;
if (conf_is_ht(conf))
phy->is_40mhz = conf_is_ht40_minus(conf) ||
conf_is_ht40_plus(conf);
@@ -3822,7 +3823,7 @@ static int b43_op_config(struct ieee80211_hw *hw, u32 changed)
/* Switch to the requested channel.
* The firmware takes care of races with the TX handler.
*/
- b43_switch_channel(dev, conf->chandef.chan->hw_value);
+ b43_switch_channel(dev, phy->channel);
}
if (changed & IEEE80211_CONF_CHANGE_RETRY_LIMITS)
diff --git a/drivers/net/wireless/b43/phy_common.c b/drivers/net/wireless/b43/phy_common.c
index 3bfb795..b465011 100644
--- a/drivers/net/wireless/b43/phy_common.c
+++ b/drivers/net/wireless/b43/phy_common.c
@@ -424,7 +424,6 @@ int b43_switch_channel(struct b43_wldev *dev, unsigned int new_channel)
if (err)
goto err_restore_cookie;
- dev->phy.channel = new_channel;
/* Wait for the radio to tune to the channel and stabilize. */
msleep(8);
--
1.8.4.5
More information about the b43-dev
mailing list