diff options
author | Rafał Miłecki <zajec5@gmail.com> | 2010-03-29 00:53:14 +0200 |
---|---|---|
committer | John W. Linville <linville@tuxdriver.com> | 2010-03-31 14:39:18 -0400 |
commit | ffd2d9bdac1a0a5d3184e085ea1bd3060b4166fe (patch) | |
tree | 71a5a7a04080ae6c9f93e823abb4a6df69e6be1a /drivers/net/wireless/b43 | |
parent | b15b3039919c7357c2851ec66843ff92f8ff86aa (diff) | |
download | blackbird-op-linux-ffd2d9bdac1a0a5d3184e085ea1bd3060b4166fe.tar.gz blackbird-op-linux-ffd2d9bdac1a0a5d3184e085ea1bd3060b4166fe.zip |
b43: N-PHY: find table entry earlier for setting chanspec
We do not want to partially change chanspec just to find out there is not
entry in table for given channel.
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')
-rw-r--r-- | drivers/net/wireless/b43/phy_n.c | 8 |
1 files changed, 4 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c index 052119b84da4..d9e47ba5e157 100644 --- a/drivers/net/wireless/b43/phy_n.c +++ b/drivers/net/wireless/b43/phy_n.c @@ -3343,6 +3343,10 @@ static int b43_nphy_set_chanspec(struct b43_wldev *dev, if (dev->phy.rev >= 3) { /* TODO */ + } else { + tabent = b43_nphy_get_chantabent(dev, channel); + if (!tabent) + return -ESRCH; } nphy->radio_chanspec = chanspec; @@ -3366,10 +3370,6 @@ static int b43_nphy_set_chanspec(struct b43_wldev *dev, /* TODO: PHY Radio2056 Setup (chan_info_ptr[i]) */ /* TODO: N PHY Chanspec Setup (chan_info_ptr[i]) */ } else { - tabent = b43_nphy_get_chantabent(dev, channel); - if (!tabent) - return -ESRCH; - tmp = (chanspec.b_freq == 1) ? 0x0020 : 0x0050; b43_radio_maskset(dev, B2055_MASTER1, 0xFF8F, tmp); b43_radio_2055_setup(dev, tabent); |