diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2014-05-31 14:49:36 -0400 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2014-06-19 15:49:13 -0400 |
commit | eb530b0fed7ec8ca435ec421cbff773b318a6a00 (patch) | |
tree | dcb93d573837e642bfd30e45c13461916b7be356 | |
parent | 8c79e5ee033798bc1147ec29f222c2ace6e9e897 (diff) |
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>
-rw-r--r-- | drivers/net/wireless/b43/phy_common.c | 7 |
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) | |||
94 | const struct b43_phy_operations *ops = phy->ops; | 94 | const struct b43_phy_operations *ops = phy->ops; |
95 | int err; | 95 | int err; |
96 | 96 | ||
97 | phy->channel = ops->get_default_chan(dev); | 97 | if (!phy->channel) |
98 | phy->channel = ops->get_default_chan(dev); | ||
98 | 99 | ||
99 | phy->ops->switch_analog(dev, true); | 100 | phy->ops->switch_analog(dev, true); |
100 | b43_software_rfkill(dev, false); | 101 | b43_software_rfkill(dev, false); |
@@ -106,9 +107,7 @@ int b43_phy_init(struct b43_wldev *dev) | |||
106 | } | 107 | } |
107 | phy->do_full_init = false; | 108 | phy->do_full_init = false; |
108 | 109 | ||
109 | /* Make sure to switch hardware and firmware (SHM) to | 110 | err = b43_switch_channel(dev, phy->channel); |
110 | * the default channel. */ | ||
111 | err = b43_switch_channel(dev, ops->get_default_chan(dev)); | ||
112 | if (err) { | 111 | if (err) { |
113 | b43err(dev->wl, "PHY init: Channel switch to default failed\n"); | 112 | b43err(dev->wl, "PHY init: Channel switch to default failed\n"); |
114 | goto err_phy_exit; | 113 | goto err_phy_exit; |