summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2011-06-19 02:18:12 +0200
committerJohn W. Linville <linville@tuxdriver.com>2011-06-22 22:09:42 +0200
commit1a3f71ae669a599139165c7ae6d8e7908fe12e64 (patch)
tree4a81cde0b861345b9d637463ea64edbe703084a6
parentb43: HT-PHY: implement killing radio (diff)
downloadlinux-1a3f71ae669a599139165c7ae6d8e7908fe12e64.tar.xz
linux-1a3f71ae669a599139165c7ae6d8e7908fe12e64.zip
b43: HT-PHY: enable radio
The trick was to find 0x810 PHY reg ops close to analog enabling code. To find out proper masks and sets, MMIO hacks were used. 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_ht.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/drivers/net/wireless/b43/phy_ht.c b/drivers/net/wireless/b43/phy_ht.c
index e84d4c135354..008c1a96c2d3 100644
--- a/drivers/net/wireless/b43/phy_ht.c
+++ b/drivers/net/wireless/b43/phy_ht.c
@@ -69,6 +69,10 @@ static void b43_phy_ht_op_software_rfkill(struct b43_wldev *dev,
if (blocked) {
b43_phy_mask(dev, B43_PHY_HT_RF_CTL1, ~0);
} else {
+ b43_phy_mask(dev, B43_PHY_HT_RF_CTL1, ~0);
+ b43_phy_maskset(dev, B43_PHY_HT_RF_CTL1, ~0, 0x1);
+ b43_phy_mask(dev, B43_PHY_HT_RF_CTL1, ~0);
+ b43_phy_maskset(dev, B43_PHY_HT_RF_CTL1, ~0, 0x2);
}
}