Signed-off-by: Rafał Miłecki <zaj...@gmail.com>
---
 drivers/net/wireless/b43/main.c       |    6 ++++++
 drivers/net/wireless/b43/phy_common.h |    3 +++
 drivers/net/wireless/b43/phy_n.c      |    2 +-
 3 files changed, 10 insertions(+), 1 deletions(-)

diff --git a/drivers/net/wireless/b43/main.c b/drivers/net/wireless/b43/main.c
index 9c5c7c9..a826e68 100644
--- a/drivers/net/wireless/b43/main.c
+++ b/drivers/net/wireless/b43/main.c
@@ -3571,6 +3571,12 @@ static int b43_op_config(struct ieee80211_hw *hw, u32 
changed)
        dev = wl->current_dev;
        phy = &dev->phy;
 
+       if (conf_is_ht(conf))
+               phy->is_40mhz =
+                       (conf_is_ht40_minus(conf) || conf_is_ht40_plus(conf));
+       else
+               phy->is_40mhz = false;
+
        b43_mac_suspend(dev);
 
        if (changed & IEEE80211_CONF_CHANGE_RETRY_LIMITS)
diff --git a/drivers/net/wireless/b43/phy_common.h 
b/drivers/net/wireless/b43/phy_common.h
index 9edd4e8..f635f9e 100644
--- a/drivers/net/wireless/b43/phy_common.h
+++ b/drivers/net/wireless/b43/phy_common.h
@@ -212,6 +212,9 @@ struct b43_phy {
        bool supports_2ghz;
        bool supports_5ghz;
 
+       /* HT info */
+       bool is_40mhz;
+
        /* GMODE bit enabled? */
        bool gmode;
 
diff --git a/drivers/net/wireless/b43/phy_n.c b/drivers/net/wireless/b43/phy_n.c
index e77f1f2..2cdf32e 100644
--- a/drivers/net/wireless/b43/phy_n.c
+++ b/drivers/net/wireless/b43/phy_n.c
@@ -1787,7 +1787,7 @@ static int b43_nphy_cal_tx_iq_lo(struct b43_wldev *dev,
 
        b43_phy_write(dev, B43_NPHY_IQLOCAL_CMDGCTL, 0x8AA9);
 
-       if (1 /* FIXME: the band width is 20 MHz */)
+       if (!dev->phy.is_40mhz)
                freq = 2500;
        else
                freq = 5000;
-- 
1.6.4.2

_______________________________________________
Bcm43xx-dev mailing list
Bcm43xx-dev@lists.berlios.de
https://lists.berlios.de/mailman/listinfo/bcm43xx-dev

Reply via email to