summaryrefslogtreecommitdiffstats
path: root/drivers/net/wireless/b43/phy_common.c
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2014-05-31 20:49:36 +0200
committerJohn W. Linville <linville@tuxdriver.com>2014-06-19 21:49:13 +0200
commiteb530b0fed7ec8ca435ec421cbff773b318a6a00 (patch)
treedcb93d573837e642bfd30e45c13461916b7be356 /drivers/net/wireless/b43/phy_common.c
parentb43: b43_op_config: use IEEE80211_CONF_CHANGE_CHANNEL (diff)
downloadlinux-eb530b0fed7ec8ca435ec421cbff773b318a6a00.tar.xz
linux-eb530b0fed7ec8ca435ec421cbff773b318a6a00.zip
b43: PHY: don't force default channel during init
PHY may need to be re-initialized during runtime (e.g. on band switch). Signed-off-by: Rafał Miłecki <zajec5@gmail.com> Signed-off-by: John W. Linville <linville@tuxdriver.com>
Diffstat (limited to 'drivers/net/wireless/b43/phy_common.c')
-rw-r--r--drivers/net/wireless/b43/phy_common.c7
1 files changed, 3 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/phy_common.c b/drivers/net/wireless/b43/phy_common.c
index ac4cf2b8aca8..3bfb795f6a6d 100644
--- a/drivers/net/wireless/b43/phy_common.c
+++ b/drivers/net/wireless/b43/phy_common.c
@@ -94,7 +94,8 @@ int b43_phy_init(struct b43_wldev *dev)
const struct b43_phy_operations *ops = phy->ops;
int err;
- phy->channel = ops->get_default_chan(dev);
+ if (!phy->channel)
+ phy->channel = ops->get_default_chan(dev);
phy->ops->switch_analog(dev, true);
b43_software_rfkill(dev, false);
@@ -106,9 +107,7 @@ int b43_phy_init(struct b43_wldev *dev)
}
phy->do_full_init = false;
- /* Make sure to switch hardware and firmware (SHM) to
- * the default channel. */
- err = b43_switch_channel(dev, ops->get_default_chan(dev));
+ err = b43_switch_channel(dev, phy->channel);
if (err) {
b43err(dev->wl, "PHY init: Channel switch to default failed\n");
goto err_phy_exit;