Band switching code needs to know what channel we switch to.

Signed-off-by: Rafał Miłecki <[email protected]>
---
 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


_______________________________________________
b43-dev mailing list
[email protected]
http://lists.infradead.org/mailman/listinfo/b43-dev

Reply via email to