aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorRafał Miłecki <zajec5@gmail.com>2013-03-17 14:49:08 -0400
committerRafał Miłecki <zajec5@gmail.com>2013-04-23 06:27:56 -0400
commit418e8b680516d3ff7f27a0094fe461cfc8a3e3c4 (patch)
treef65092c36c63f88f3bdf0bfec56fce91a1e89156
parentfc6ab1e0c032f3ae3f20e405c5ca51f20540b52c (diff)
b43: HT-PHY: store TX power state before disabling it
Signed-off-by: Rafał Miłecki <zajec5@gmail.com>
-rw-r--r--drivers/net/wireless/b43/phy_ht.c10
1 files changed, 6 insertions, 4 deletions
diff --git a/drivers/net/wireless/b43/phy_ht.c b/drivers/net/wireless/b43/phy_ht.c
index 1caeedc8f686..355651a1099e 100644
--- a/drivers/net/wireless/b43/phy_ht.c
+++ b/drivers/net/wireless/b43/phy_ht.c
@@ -497,15 +497,17 @@ static void b43_phy_ht_tx_power_ctl(struct b43_wldev *dev, bool enable)
497 static const u16 cmd_regs[3] = { B43_PHY_HT_TXPCTL_CMD_C1, 497 static const u16 cmd_regs[3] = { B43_PHY_HT_TXPCTL_CMD_C1,
498 B43_PHY_HT_TXPCTL_CMD_C2, 498 B43_PHY_HT_TXPCTL_CMD_C2,
499 B43_PHY_HT_TXPCTL_CMD_C3 }; 499 B43_PHY_HT_TXPCTL_CMD_C3 };
500 static const u16 status_regs[3] = { B43_PHY_HT_TX_PCTL_STATUS_C1,
501 B43_PHY_HT_TX_PCTL_STATUS_C2,
502 B43_PHY_HT_TX_PCTL_STATUS_C3 };
500 int i; 503 int i;
501 504
502 if (!enable) { 505 if (!enable) {
503 if (b43_phy_read(dev, B43_PHY_HT_TXPCTL_CMD_C1) & en_bits) { 506 if (b43_phy_read(dev, B43_PHY_HT_TXPCTL_CMD_C1) & en_bits) {
504 /* We disable enabled TX pwr ctl, save it's state */ 507 /* We disable enabled TX pwr ctl, save it's state */
505 /* 508 for (i = 0; i < 3; i++)
506 * TODO: find the registers. On N-PHY they were 0x1ed 509 phy_ht->tx_pwr_idx[i] =
507 * and 0x1ee, we need 3 such a registers for HT-PHY 510 b43_phy_read(dev, status_regs[i]);
508 */
509 } 511 }
510 b43_phy_mask(dev, B43_PHY_HT_TXPCTL_CMD_C1, ~en_bits); 512 b43_phy_mask(dev, B43_PHY_HT_TXPCTL_CMD_C1, ~en_bits);
511 } else { 513 } else {