b43: LP-PHY: Fix reading old mode in the set TX power control routine
PATCH 1/1 b43: LP-PHY: Fix reading old mode in the set TX power control routine
Check the mode the hardware is in, not the mode we used the last time.
---
Mark, please test if this fixes the TX power control WARN_ON you were seeing.
drivers/net/wireless/b43/phy_lp.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
drivers/net/wireless/b43/phy_lp.c +0 -0
@@ -1015,9 +1015,9 @@ static void lpphy_set_tx_power_control(struct b43_wldev *dev,
struct b43_phy_lp *lpphy = dev->phy.lp; enum b43_lpphy_txpctl_mode oldmode;
- oldmode = lpphy->txpctl_mode; lpphy_read_tx_pctl_mode_from_hardware(dev); - if (lpphy->txpctl_mode == mode) + oldmode = lpphy->txpctl_mode; + if (oldmode == mode) return; lpphy->txpctl_mode = mode;
Signature · 1 line
1.6.2.4
Quoted 6 lines · Gábor Stefanik
Check the mode the hardware is in, not the mode we used the last time.
Signed-off-by Gábor Stefanik <[email protected]>---
Mark, please test if this fixes the TX power controlWARN_ONyou were seeing.
It does not fix it here. I'll take a look at the specs.
Larry
2009/8/14 Gábor Stefanik <[email protected]>:
Quoted 29 lines
Check the mode the hardware is in, not the mode we used the last time.
Signed-off-by Gábor Stefanik <[email protected]>---
Mark, please test if this fixes the TX power controlWARN_ONyou were seeing.
drivers/net/wireless/b43/phy_lp.c| 4 ++--1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/b43/phy_lp.c +2
-3@@ -1015,9 +1015,9 @@ static void lpphy_set_tx_power_control(struct b43_wldev *dev, struct b43_phy_lp *lpphy = dev->phy.lp; enum b43_lpphy_txpctl_mode oldmode; - oldmode = lpphy->txpctl_mode; lpphy_read_tx_pctl_mode_from_hardware(dev); - if (lpphy->txpctl_mode == mode) + oldmode = lpphy->txpctl_mode; + if (oldmode == mode) return; lpphy->txpctl_mode = mode; --
Quoted 2 lines
1.6.2.4
John, any news on this one? I can't see it in wireless testing.
Signature · 1 line
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
Quoted 29 lines · Gábor Stefanik
2009/8/14 Gábor Stefanik <[email protected]>:
Quoted 28 lines
Check the mode the hardware is in, not the mode we used the last time.
Signed-off-by Gábor Stefanik <[email protected]>---
Mark, please test if this fixes the TX power controlWARN_ONyou were seeing.
drivers/net/wireless/b43/phy_lp.c| 4 ++--1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/b43/phy_lp.c +2
-2@@ -1015,9 +1015,9 @@ static void lpphy_set_tx_power_control(struct b43_wldev *dev, struct b43_phy_lp *lpphy = dev->phy.lp; enum b43_lpphy_txpctl_mode oldmode; - oldmode = lpphy->txpctl_mode; lpphy_read_tx_pctl_mode_from_hardware(dev); - if (lpphy->txpctl_mode == mode) + oldmode = lpphy->txpctl_mode; + if (oldmode == mode) return; lpphy->txpctl_mode = mode;
Quoted 5 lines
Quoted 3 lines
--
1.6.2.4John, any news on this one? I can't see it in wireless testing.
Larry said "It does not fix it here. I'll take a look at the specs"...
Signature · 2 lines
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.
2009/8/17 John W. Linville <[email protected]>:
Quoted 30 lines · Gábor Stefanik
Quoted 29 lines
2009/8/14 Gábor Stefanik <[email protected]>:
Quoted 28 lines
Check the mode the hardware is in, not the mode we used the last time.
Signed-off-by Gábor Stefanik <[email protected]>---
Mark, please test if this fixes the TX power controlWARN_ONyou were seeing.
drivers/net/wireless/b43/phy_lp.c| 4 ++--1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/b43/phy_lp.c +2
-2@@ -1015,9 +1015,9 @@ static void lpphy_set_tx_power_control(struct b43_wldev *dev, struct b43_phy_lp *lpphy = dev->phy.lp; enum b43_lpphy_txpctl_mode oldmode; - oldmode = lpphy->txpctl_mode; lpphy_read_tx_pctl_mode_from_hardware(dev); - if (lpphy->txpctl_mode == mode) + oldmode = lpphy->txpctl_mode; + if (oldmode == mode) return; lpphy->txpctl_mode = mode;
Quoted 7 lines
Quoted 5 lines
Quoted 3 lines
--
1.6.2.4John, any news on this one? I can't see it in wireless testing.
Larry said "It does not fix it here. I'll take a look at the specs"...
It did not fix the warning, but it is nevertheless a legitimate fix. (I found this bug when I was looking for the source of the WARN_ON - this is not the source of the WARN_ON, but still a bug.)
Quoted 5 lines
--
John W. Linville Someday the world will need a hero, and you [email protected] might be all we have. Be ready.
Signature · 1 line
Vista: [V]iruses, [I]ntruders, [S]pyware, [T]rojans and [A]dware. :-)
Quoted 35 lines · Gábor Stefanik
2009/8/17 John W. Linville <[email protected]>:
Quoted 34 lines · Gábor Stefanik
Quoted 33 lines
2009/8/14 Gábor Stefanik <[email protected]>:
Quoted 29 lines
Check the mode the hardware is in, not the mode we used the last time.
Signed-off-by Gábor Stefanik <[email protected]>---
Mark, please test if this fixes the TX power controlWARN_ONyou were seeing.
drivers/net/wireless/b43/phy_lp.c| 4 ++--1 files changed, 2 insertions(+), 2 deletions(-)drivers/net/wireless/b43/phy_lp.c +2
-3@@ -1015,9 +1015,9 @@ static void lpphy_set_tx_power_control(structb43_wldev *dev, struct b43_phy_lp *lpphy = dev->phy.lp;enum b43_lpphy_txpctl_mode oldmode; - oldmode = lpphy->txpctl_mode;lpphy_read_tx_pctl_mode_from_hardware (dev); -if (lpphy->txpctl_mode == mode) + oldmode = lpphy->txpctl_mode; +if (oldmode == mode)return ; lpphy->txpctl_mode = mode; --Quoted 2 lines
1.6.2.4
John, any news on this one? I can't see it in wireless testing.
Quoted 5 lines
Quoted 1 line
Larry said "It does not fix it here. I'll take a look at the specs"...
It did not fix the warning, but it is nevertheless a legitimate fix. (I found this bug when I was looking for the source of the
WARN_ON- this is not the source of theWARN_ON, but still a bug.)
This patch is OK.
Larry